0
点赞
收藏
分享

微信扫一扫

Linux下Mysql的解压安装 5.7.32

快乐码农Alan007 2022-04-15 阅读 61
mysql

只用作个人笔记记录,不用于教程,如有错误敬请斧正

基础安装

mysql下载地址:https://dev.mysql.com/downloads/mysql/
mysql5.7参考手册:https://dev.mysql.com/doc/refman/5.7/en/

1.目标目录下解压:

		tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

2.创建数据目录:

		mkdir -p  /data/mysql

3.创建配置文件:

		vi /usr/local/mysql/my.cnf

基础配置如下:


	[mysqld]
	port=3306
	user=mysql
	basedir=/usr/local/mysql
	datadir=/data/mysql
	socket=/tmp/mysql.sock
	log-error=/data/mysql/mysql.err
	pid-file=/data/mysql/mysql.pid
	#character config
	character_set_server=utf8mb4
	symbolic-links=0
	explicit_defaults_for_timestamp=true
	

4.安装numactl:

bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
如果安装mysql出现了以上的报错信息.这是却少numactl,执行安装即可

		#Centos执行
		yum -y install numactl
		#ubuntu执行
		apt-get install numactl

5.初始化:

正常情况下建议单独为mysql添加用户组和用户,实际情况特殊需要用指定账号维护,所以没有创建

		cd /usr/local/mysql/bin
		./mysqld --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mcbadm  --initialize

6.查看root密码:

若初始化成功,错误日志中会有密码输出

		cat /data/mysql/mysql.err

在这里插入图片描述

7.添加service服务:

方便通过service命令启动,非必要步骤
编辑mysql.serever文件,确保内容路径与实际路径一致后.将文件复制到/etc/init.d/目录下

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

添加成功后可使用以下命令:

		service mysql start;		#启动
		service mysql stop;			#停止
		service mysql restart;		#重启
		service mysql status;		#查看状态

8.重置密码,修改root访问host:

		#重置root密码
		SET PASSWORD = PASSWORD('123456');
		ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
		FLUSH PRIVILEGES;
		
		#修改root账号访问host
		use mysql;                                         
		update user set host = '%' where user = 'root';  
		FLUSH PRIVILEGES; 
		
		#创建用户(非必要步骤,用于记录)
		CREATE USER 'username'@'host' IDENTIFIED BY 'password';
		
		#给指定用户授权,若用户不存在则创建(非必要步骤,用于记录)
		grant all privileges on *.* to root@"%" identified by "123456";
		flush privileges;
		
		#给指定用户修改密码(非必要步骤,用于记录)
		update mysql.user set authentication_string=password('123456') where user='root' ;
		flush privileges;

主从同步:

1.修改主库配置

主库my.cnf中添加如下配置后重启mysql

		log-bin=mysql-bin			#开启binlog
		server-id=75				#id必须唯一
		#-----------------选配
		binlog-ignore-db=information_schema	#忽略不需要同步的数据库
		binlog-ignore-db=cluster
		binlog-ignore-db=mysql
		binlog-do-db=db01					#需要同步的数据库
		binlog-do-db=db02
		binlog-do-db=db03

2.创建同步账号

		GRANT REPLICATION SLAVE ON *.* TO 'allowslave'@'%' IDENTIFIED BY '123456';
		flush privileges;
		#创建用户:allowsalve,密码为:123456,并授权。%表示任意host均可访问

3.查看主库状态:

		show master status;

在这里插入图片描述

4.修改从库配置:

在从库my.cnf中添加如下配置后重启mysql

		server-id=77
		#----------------选配
		log-bin=mysql-slave-bin				#开启binlog以防slave后续作为其它节点的master
		binlog-ignore-db=information_schema	#忽略不需要同步的数据库
		binlog-ignore-db=cluster
		binlog-ignore-db=mysql
		binlog-do-db=db01					#需要同步的数据库
		binlog-do-db=db02
		binlog-do-db=db03
		log-slave-updates					#开启log-slave-updates参数后,slave从master复制的数据会写入log-bin日志文件里
		slave-skip-errors=all				#自动跳过所有复制错误
		slave-net-timeout=60				#从库延后同步的时间,当slave认为连接master的连接有问题时,就等待N秒,然后断开连接,重新连接master

5.连接主数据库:

		CHANGE MASTER TO MASTER_HOST='192.168.122.75', MASTER_USER='allowslave', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=154;

6.从库启动slave进程:

		start slave;
		show slave status\G;#查看slave状态

当IO进程和SQL进程都为YES状态时,主从同步开启成功
在这里插入图片描述


举报

相关推荐

0 条评论