mysql

mysql

安装前工作

在安装前需要确定现在这个系统有没有 mysql,如果有那么必须卸载(在 centos7 自带的是 mariaDb 数据库,所以第一步是卸载数据库)。

 

查看mariadb数据库:

rpm -qa | grep mariadb

卸载mariadb数据库:

rpm -e --nodeps  mariadb文件名

 

查看 mysql 数据库:

rpm -qa | grep -i mysql

卸载 mysql 数据库:

rpm -e mysql文件名 # 如果有关联文件,不能直接卸载。可以用一下命令强制卸载:

rpm -e --nodeps mysql文件名)

 

删除etc目录下的my.cnf文件:

rm /etc/my.cnf

下载

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

安装

cd /usr/local

rz

tar xzvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

rm -rf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql

 

mkdir /usr/local/mysql/data

主目录权限处理

cat /etc/group | grep mysql

cat /etc/passwd |grep mysql

userdel -r mysql  #若存在,则删除原mysql用户,会删除其对应的组和用户

 

groupadd mysql  #创建mysql组

useradd -r -g mysql mysql  #创建mysql用户

chown -R mysql:mysql /usr/local/mysql

创建配置文件及相关目录

vim /etc/my.cnf  #修改配置文件,配置不对的话,后面初始化不全,会拿不到默认密码。

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port = 3306

socket=/tmp/mysql.sock

 

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/tmp/mysqld/mysqld.pid

sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘

[client]

default-character-set=utf8

 

[mysql]

default-character-set=utf8

 

[mysqld]

log-bin=mysql-bin

binlog-format=ROW

server_id=1

max_connections=1000

 

init_connect=‘SET collation_connection = utf8_unicode_ci‘

init_connect=‘SET NAMES utf8‘

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

 

cd /tmp

touch mysql.sock

chown mysql:mysql mysql.sock

chmod 755 mysql.sock

 

mkdir /tmp/mysqld

touch /tmp/mysqld/mysqld.pid

cd /tmp

chown -R mysql:mysql mysqld

cd mysqld

chmod 755 mysqld.pid

 

touch /var/log/mysqld.log

chown -R mysql:mysql /var/log

cd /var/log

chmod 755 mysqld.log

初始化数据库

cd /usr/local/mysql/bin/

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

 

如果出错:

yum install -y libaio

 

./mysqld_safe --user=mysql &  #安全启动

ps -ef | grep mysql  #查看是否启动成功

 

cat /var/log/mysqld.log  #默认密码在mysqld.log日志里, 找到后保存到安全的地方

其中root@localhost: 后面的(root@localhost: e3.gO3NVhOp5)就是默认密码,后面登录用.(如果找不到可能默认是空,登录时密码直接回车,否则可能安装有问题)

修改密码

cd /usr/local/mysql/bin/  #进入bin目录:

./mysql -u root -p  #登录mysql,拷贝或者输入mysqld.log中获得的默认密码,即可进入mysql命令客户端

show databases; #但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)

set password=password("root");

 

mysql>grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘root‘;  #设置远程登录权限

mysql> flush privileges;  #立即生效

exit

 

开机启动设置

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

chkconfig --list mysql  #查看mysql服务是否在服务配置中

chkconfig --add mysql  #若没有,则把mysql注册为开机启动的服务,然后在进行查看

 

启动、停止

service mysql start

service mysql stop

登录

mysql -u root -p  #登录

ln -s /usr/local/mysql/bin/mysql /usr/bin  #设置快捷登录

1、1130 - Host is not allowed to connect to this mysql servere

mysql -u root -p  #登录

use mysql;

select host,user from user;  #进行查看

update user set host=‘%‘ where user=‘root‘;  #修改权限,将Host设置为通配符%

flush privileges;  #使配置立即生效

设置win10上允许ip访问

参考网址

https://www.cnblogs.com/beyang/p/4905309.html

 

#运行cmd,执行此命令,提示输入密码

mysql -u root -p 

 

#进入mysql执行以下命令

grant all privileges on *.* to ‘root‘@‘192.168.1.11‘ identified by ‘root‘;

#说明grant all privileges on *.* to ‘用户名‘@‘IP地址‘ identified by ‘密码‘;

#刷新权限

flush privileges;

重启服务

mysql

上一篇:mysql双主+keepalived实现高可用集群


下一篇:SQL(结构化查询语句)