多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
1.数据库 mysql 5.7.17 下载 (623.7MB) https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz >> linux generic >> Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive(Archive代表免编译安装) 2.基本配置: ~~~ shell> groupadd mysql shell> useradd -r -g mysql -s /bin/false mysql shell> ll /root/mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz shell> cd /root shell> tar -zxvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz shell> mv /root/mysql-5.7.15-linux-glibc2.5-x86_64 /usr/local/mysql shell> cd /usr/local/mysql shell> mkdir -p /var/run/mysqld shell> mkdir -p /home/mysql/data3306 /home/mysql/binlog3306 shell> mkdir -p /home/mysql/data3307 /home/mysql/binlog3307 shell> chmod 750 /var/run/mysqld /home/mysql/data* /home/mysql/binlog* shell> chown -R mysql:mysql /home/mysql/ /var/run/mysqld ~~~ ``` 3.配置参数文件 shell> vi /etc/my.cnf [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin #user = root #password = rootpwd [mysqld3306] port = 3306 server_id = 3306 basedir =/usr/local/mysql datadir =/home/mysql/data3306 log-bin=/home/mysql/binlog3306/mysql-bin socket =/tmp/mysql3306.sock log-error =/var/log/mysqld3306.log pid-file =/var/run/mysqld/mysqld3306.pid [mysqld3307] port = 3307 server_id = 3307 basedir =/usr/local/mysql datadir =/home/mysql/data3307 log-bin=/home/mysql/binlog3307/mysql-bin socket =/tmp/mysql3307.sock log-error =/var/log/mysqld3307.log pid-file =/var/run/mysqld/mysqld3307.pid ~~~ 4.添加环境变量 ~~~ shell> echo "PATH=$PATH:/usr/local/mysql/bin " >> /etc/profile shell> source /etc/profile ~~~ 5.安装,完成后记住root密码 ~~~ shell> /bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data3306 --explicit_defaults_for_timestamp shell> bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data3307 --explicit_defaults_for_timestamp ~~~ 6.查看密码 [root@localhost mysql]# bin/mysqld --initialize --user=mysql --datadir=/home/mysql/data3306 --explicit_defaults_for_timstamp 2018-06-14T08:53:58.531057Z 0 [Warning] InnoDB: New log files created, LSN=45790 2018-06-14T08:53:58.602686Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2018-06-14T08:53:58.665198Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this erver has been started. Generating a new UUID: 7a01969a-6fb0-11e8-937f-000c292641c5. 2018-06-14T08:53:58.666785Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2018-06-14T08:53:58.668179Z 1 [Note] A temporary password is generated for root@localhost: =PkN#o>Bk5*2 密码为‘’=PkN#o>Bk5*2‘’ 7.启动实例服务 ~~~ shell> mysqld_multi report shell> mysqld_multi start 3306,3307 shell> netstat -ntlp | grep mysql shell> ll /tmp/mysql*.sock ~~~ 8.访问管理 ~~~ # 访问数据库(进入后要求更改root密码) shell> mysql -u root -p -S /tmp/mysql3306.sock Enter password: shell> mysql -u root -p -S /tmp/mysql3307.sock Enter password: mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'dongshang2018'; mysql> select Host,User from mysql.user; mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'dongshang2018' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; # 超级管理员 mysql> create user root@'192.168.1.%' IDENTIFIED by 'rootpwd'; mysql> grant all privileges on *.* to root@'192.168.1.%'; mysql> flush privileges; # 可用端口登录了(此时登录账户为: root@'192.168.1.%') shell> mysql -h 192.168.1.110 -u root -p -P3306 shell> mysql -h 192.168.1.110 -u root -p -P3306 ~~~ 9.关闭某个实例 ~~~ shell> mysqladmin -uroot -pdongshang2018 -S /tmp/mysql3306.sock shutdown shell> mysqladmin -uroot -pdongshang2018 -S /tmp/mysql3307.sock shutdown ~~~ 10.添加自启动 ~~~ shell> cat /etc/rc.local mkdir /usr/local/mysql/init touch /usr/local/mysql/init/mysqld_pid.sh vim /usr/local/mysql/init/mysqld_pid.sh mkdir -p /var/run/mysqld chmod 750 /var/run/mysqld chown -R mysql:mysql /var/run/mysqld mysqld_multi start 3306,3307 shell> echo "/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf start 3306,3307" >> /etc/rc.local ~~~ 11.修改php.ini (1)mysql_connect()“No such file or directory”错误 pdo_mysql.default_socket=/tmp/ pdo_mysqli.default_socket=/tmp/ (2)SQLSTATE[HY000] [2002] Connection refused错误解决 修改tp5 database.php文件 localhost 改为 127.0.0.1 12.linux重启后,mysql无法启动。原因是 /var/run/mysqld 目录是保存在内存里的,重启后会消失