Ubuntu 安装mysql8
1: cd/opt/
2: vim installmysql8.sh,把下面的代码复制到编辑框,保存。
去MySQL :: Download MySQL APT Repository
查看最新的mysql的版本,目前最新版本是8.25
复制的链接替换wget后面的链接,&& dpkg -i 后面的包名也要改为对应的名字。
#!/bin/bash
apt install -y software-properties-common
wget https://dev.mysql.com/get/mysql-apt-config_0.8.25-1_all.deb && dpkg -i mysql-apt-config_0.8.25-1_all.deb
apt-get -y update
apt-get install -y mysql-server
apt-get install -y mysql-client
systemctl enable mysql
3: 给installmysql8.sh添加运行权限。
chmod +x installmysql8.sh
4:执行安装,./installmysql8.sh
选择第一个,回车
选择第一个,回车
选择ok,回车
第一次输入root的密码,输入完选择ok,回车
第二次输入root的密码,输入完选择ok,回车
选择第一个,回车
等待安装完成,这样安装的mysql8不会产生动态的密码文件在系统,提高安全系数。
5: 登录mysql,用户名和密码都在上图
mysql -u root -p
输入上面设置的密码
6:设置外网访问权限。默认的root是localhost权限,先修改权限
RENAME USER 'root'@'localhost' TO 'root'@'%'; #--原有账号修改 host 使这个账号可远程
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';#分配权限
flush privileges; #刷新权限
quit;#退出
重启服务:systemctl restart mysql
7:修改配置文件,如果要修改端口,需要注意主库的端口和从库的端口是要不一样的。
vim /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0 #修改允许外网访问
max_connections=2000 #最大连接数
#port=48890 #修改端口,如果需要修改添加这一行
重启服务:systemctl restart mysql
8:主从配置
8.1:主库配置
vim /etc/mysql/mysql.conf.d/mysqld.cnf
server-id = 1 #主库ID
log_bin = /var/log/mysql/mysql-bin.log #Bin_log配置
max_binlog_size = 100M
8.2:登录
mysql -u root -p
创建从库登录用户
CREATE USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY 'abc23456#';#创建用户
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';#分配权限
flush privileges; #刷新权限
quit; #退出
重启服务:systemctl restart mysql
8.3:登录
mysql -u root -p
reset master; #重置master
show master status; #查看状态
记住File和Position
8.4:从库配置
vim /etc/mysql/mysql.conf.d/mysqld.cnf
server-id = 2 #从库ID,如果多个从库,从2-n
log_bin = /var/log/mysql/mysql-bin.log #bin_log配置
max_binlog_size = 100M
登录mysql
mysql -u root -p
stop slave; #停止从库服务
reset slave; #重启从库服务
CHANGE MASTER TO MASTER_HOST='192.168.1.2',MASTER_USER='slave',MASTER_PASSWORD='abc123456#',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=157; #连接到主库
start slave; #启动从库服务
show slave status\G #查看服务状态
MASTER_HOST:主库IP
MASTER_USER:主库设置的从库用户名
MASTER_PASSWORD:主库设置的从库密码
MASTER_LOG_FILE:主库 show master status;查出来的file
MASTER_LOG_POS:主库 show master status;查出来的Position
状态如下为成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0
9:系统命令
开机启动服务
systemctl enable mysql
启动mysql服务
启动服务:systemctl start mysql
停止服务:systemctl stop mysql
重启服务:systemctl restart mysql
查询服务:systemctl status mysql