MysqlLinux环境下安装多个mysql
目录
一、需求说明
在Linux服务器上安装多个mysql,供测试数据库性能或者对不同系统平台提供不同的数据库使用。
这里以安装同一版本mysql不同端口号为例,在同一台服务器安装两个端口号分别为3306和3307的mysql库。
二、环境说明
1、mysql版本:mysql-5.7.39
2、linux系统版本:centos7.6
3、位置规划:
mysql_3306: /opt/softWare/mysql3306
mysql_3307: /opt/softWare/mysql3307
三、删除mariadb数据库
这个数据库和mysql数据库同时存在会在安装时报错;
-
#查看是否存在mariadb数据库
-
rpm -qa|grep mariadb
-
-
#删除
-
rpm -e --nodeps mariadb文件名全称
-
-
#例如:
-
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
四、安装步骤
这里以mysql_3306为例进行安装;
1、解压
tar -zxvf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
2、重命名
mv mysql-5.7.39-linux-glibc2.12-x86_64 mysql3306
3、新建数据存放目录
mkdir -p mysql3306/data
4、添加用户、用户组
groupadd mysql
useradd -r -g mysql mysql
5、新建cnf文件
vim mysql3306/my3306.cnf
-
[mysqld]
-
bind-address=0.0.0.0
-
port=3306
-
user=mysql
-
basedir=/opt/softWare/mysql3306
-
datadir=/opt/softWare/mysql3306/data
-
socket=/opt/softWare/mysql3306/data/mysql.sock
-
log-error=/opt/softWare/mysql3306/data/mysql.err
-
character_set_server=utf8mb4
-
symbolic-links=0
-
explicit_defaults_for_timestamp=true
-
-
[mysqld_safe]
-
log-error=/var/log/mysqld3306.log
-
pid-file=/var/run/mysqld/mysqld3306.pid
-
-
[client]
-
socket=/opt/softWare/mysql3306/data/mysql3306.sock
-
-
[mysqldump]
-
socket=/opt/softWare/mysql3306/data/mysql3306.sock
-
-
[mysqladmin]
-
socket=/opt/softWare/mysql3306/data/mysql.sock
-
-
#
-
# include all files from the config directory
-
#
-
!includedir /etc/my.cnf.d
6、初始化mysql
.bin/mysqld --defaults-file=/opt/softWare/mysql3306/my3306.cnf --basedir=/opt/softWare/mysql3306 --datadir=/opt/softWare/mysql3306/data --user=mysql --initialize
注意:这里写的位置要和cnf里面的位置对应,尤其路径后面是否有多余斜杠"/"。路径不一致在启动mysql的时候会报如下错误:
-
2023-02-08T09:34:18.899057Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
-
2023-02-08T09:34:18.899068Z 0 [ERROR] Fatal error: Failed to initialize ACL/grant/time zones structures or failed to remove temporary table files.
-
2023-02-08T09:34:18.899096Z 0 [ERROR] Aborting
7、启动mysql
.bin/mysqld_safe --defaults-file=/opt/softWare/mysql3306/my3306.cnf &
注意:这里如果启动不成功需要对日志进行排查,常见错误为:
Can't start server: can't check PID filepath: No such file or directory
解决办法:在my3306.cnf的文件中查看pid-file的位置,创建对应的目录并修改777权限 ;
8、查看默认密码
cat /opt/softWare/mysql3306/data/mysql.err
9、登录mysql并修改密码
-
#登录
-
mysql -S /opt/softWare/mysql3306/data/mysql.sock -P 3306 -u root -p
-
#重设密码
-
SET PASSWORD = PASSWORD('123456');
-
#赋予远程登录权限
-
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
-
#生效
-
flush privileges;
10、关闭数据库
-
.bin/mysqladmin -S /opt/softWare/mysql3306/data/mysql.sock -u root shutdown -p
-
或者
-
.bin/mysqladmin -S /opt/softWare/mysql3306/data/mysql.sock -P 3306 -u root shutdown -p
注意:kill -9 pid 在这里时kill不掉mysql进程,需要使用上面语句关闭数据库。数据库关闭之后再启动需要执行下面语句:
.bin/mysqld_safe --defaults-file=/opt/softWare/mysql3306/my3306.cnf &
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfjijci
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01