0921.1321天:MySQL的两种启动方式
#每日三件事,第1321天#
- MySQL安装
MySQL官方网站www.mysql.com提供了安装包的下载。下载到rpm安装包后,可以使用yum进行安装:
yum localinstall mysql-community-server-5.7.39xxxxxxx.rpm
默认安装后,在/etc目录中会有一个配置文件my.cnf:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
如果想要在同一台服务器上运行多个MySQL实例的话,就单独建个目录,写好my.cnf配置文件,然后初始化数据库就可以了。
比如在/disk1/3307/下面生成my.cnf文件:
port=3307
basedir=/usr/local/mysql
datadir=/disk1/3307/data
socket=/disk1/3307/mysql.sock
symbolic-links=0
log-error=/disk1/3307/mysqld.log
pid-file=/disk1/3307/mysqld.pid
在3307端口再开启一个MySQL服务。
重点来了:
先初始化数据库:
mysql_install_db --defaults-file=/disk1/3307/my.cnf --initialize --user=mysql
尤其是开启了SeLinux之后,初始化非常必要,否则要手动修改标签。
- 启动MySQL多实例
对于3306端口的MySQL,可以用systemctl命令来启动。这个启动方式几乎所有的资料都会说。另外一种方式就是通过mysqld命令来启动:
mysqld --defaults-file=/etc/my.cnf --user=mysql
登录mysql的方式都是一样的:
mysql -uroot -P 3306 -p
or:
mysql -uroot -S /var/lib/mysql/mysql.sock -p
启动3307的MySQL:
mysql --defaults-file=/disk1/3307/my.cnf --user=mysql
登录方式和3306是一样。
启动mysql服务:第一,用systemctl start mysqld,查看mysql状态用systemctl status mysqld;第二,用mysqld --defaults-file=/etc/my.cnf --user=mysql。
无论哪种方式,通过ps命令都能看到mysql服务是否已经启动。因此,单纯使用systemctl或者service命令查看mysql服务的状态,是不准确的。
共有 0 条评论