下文主要给大家带来安装mysql 5.7 二进制流程讲析,希望这些文字能够带给大家实际用处,这也是我编辑这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
1 官网下载mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
2 可以先检查系统中的Mysql或mariadb,如果存在将其卸载
[root@bogon ~]# rpm -qa |grep mysql
php-mysql-5.4.16-46.1.el7_7.x86_64
[root@bogon ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64
mariadb-server-5.5.64-1.el7.x86_64
mariadb-5.5.64-1.el7.x86_64
[root@bogon ~]# yum -y remove php-mysql-5.4.16-46.1.el7_7.x86_64
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.x86_64 0:5.4.16-46.1.el7_7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
3 useradd -M -s /sbin/nologin -r mysql //-M不创建主目录,-s /sbin/nologin不允许登录,-r创建的是系统用户
4 tar zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ //解压
5 cd /usr/local/
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
cd mysql
mkdir data //创建数据目录
chown -R mysql.mysql /usr/local/mysql/
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
//显示root@localhost第一次登录的随机密码 注意这里的密码
这个密码文件
grep "temporary password" /var/log/mysqld.log
6 [root@bogon mysql]# vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket=/usr/local/mysql/mysql.sock
character-set-server=utf8
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld.pid
[mysql]
socket=/usr/local/mysql/mysql.sock
[client]
socket=/usr/local/mysql/mysql.sock
7 环境变量的配置
[root@bogon mysql]# vi /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
[root@bogon mysql]# source /etc/profile.d/mysql.sh
8 cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
chmod +x /etc/init.d/mysqld
9 [root@bogon mysql]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
[root@bogon mysql]#
mysql
mysql -uroot -p'e>;Yl?WVp7Na'
由于我刚走完上面这些步骤,此时计算机远程突然不能操作,终端丢失了,密码自然也不见了,于是我就删kong空var/log/mysqld.log了日志文件进行了安全模式的进入
cd /usr/local/mysql/bin
./mysqld_safe --skip-grant-tables & 这个模式下,MySQL 登录后
在此执行第五步的初始化,找了密码,
grep "temporary password" /var/log/mysqld.log
在重新启动MySQL,进入正常的模式后进行密码的更改。
mysql> set password for root@localhost=password('123456');
mysql> show variables like 'validate_password%'; 查看密码是否复杂策略
Empty set (0.00 sec)
mysql> set password=password('1234567');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
基于二进制的主从复制
master : /etc/my.cnf 添加:
server-id=1
log-bin=mysql-bin
show variables like 'log_bin';
show master status;
CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
GRANT REPLICATION SLAVE ON . TO 'repl'@'%.mydomain.com';
slave:
vim /etc/my.cnf 添加如下
server-id = 2
slop slave;
change master to
-> > master_host='192.168.137.2',
-> master_user='repl',
-> master_password='slavepass',
-> master_password='mysql-bin.0000002',
-> master_log_pos=319;
start slave;
show slave status;
看io/sql 线程是否YES, 如果状态不对,就看错误日志
对于以上关于安装mysql 5.7 二进制流程讲析,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。