10、修改my.cnf(在一个文件中修改即可)
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld_multi]
mysqld = /usr/local/mysql /bin/mysqld_safe
mysqladmin = /usr/local/mysql /bin/mysqladmin
log = /data/mysql/mysqld_multi.log
[mysqld]
user=mysql
basedir = /usr/local/mysql
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld3306]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/data/mysql/mysql_3306/data
port=3306
server_id=3306
socket=/tmp/mysql_3306.sock
log-output=file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql_3306/log/slow.log
log-error = /data/mysql/mysql_3306/log/error.log
binlog_format = mixed
log-bin = /data/mysql/mysql_3306/log/mysql3306_bin
[mysqld3307]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/data/mysql/mysql_3307/data
port=3307
server_id=3307
socket=/tmp/mysql_3307.sock
log-output=file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql_3307/log/slow.log
log-error = /data/mysql/mysql_3307/log/error.log
binlog_format = mixed
log-bin = /data/mysql/mysql_3307/log/mysql3307_bin
11、初始化数据库
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3306/data --defaults-file=/etc/my.cnf
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3307/data --defaults-file=/etc/my.cnf
注意5.7版本的是没有 scripts 这个文件夹的 而且mysql_install_db这种安装方式以及放弃了 使用新的安装方式
/usr/local/mysql/bin/mysqld --initialize 其他不变 如果报错 则把 --defaults-file=/etc/my.cnf 参数删掉即可,默认是从 路径是/etc
注意注意注意:在比较高的版本如mysql5.7在初始化之后会生成root账户的随机密码如图所示,如果喜欢清屏的小伙伴那就惨了,不过这个也就把data里面的内容闪电重新初始化一次的事
12、检查数据库是否初始化成功
在/data/mysql/mysql_3306/data 目录下查看数据生成 以下文件
auto.cnf ibdata1 ib_logfile0 ib_logfile1 mysql mysql.pid performance_schema test
13、设置启动文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
14、mysqld_multi进行多实例管理
启动全部实例:/usr/local/mysql/bin/mysqld_multi start
查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report
启动单个实例:/usr/local/mysql/bin/mysqld_multi start 3306
停止单个实例:/usr/local/mysql/bin/mysqld_multi stop 3306
查看单个实例状态:/usr/local/mysql/bin/mysqld_multi report 3306
查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3307 is running
查看mysql进程
]# netstat -tlnap | grep mysql
15、mysql修改密码
mysql的root用户初始密码是空,所以需要登录mysql进行修改密码,下面以3306为例(mysql5.7版本是有初始密码的,前文已经提到):
mysql -S /tmp/mysql_3306.sock
set password for root@'localhost'=password('123456');
flush privileges;
下次登录:
[root@mysql ~]# mysql -S /tmp/mysql_3306.sock -p
Enter password:
16、账户授权
一般新建数据库都需要新增一个用户,用于程序连接,这类用户只需要insert、update、delete、select权限。
新增一个用户,并授权如下:
grant select,delete,update,insert on *.* to admin@'192.168.0.%' identified by '123456';
flush privileges;
以上内容大多转载来自 https://www.cnblogs.com/xuchenliang/p/6843990.html