1:下载node
[root@localhost soft]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
2:解压文件mysql
[root@dbserver /]# tar -xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
3修改文件linux
[root@dbserver local]# mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql
4:检查库文件是否有删除,如有便删除(linux系统自带的)sql
[root@dbserver mysql]# rpm -qa | grep mysql
删除
[root@dbserver mysql]# rm -e –-nodeps mysql-libs-5.1.52.x86_64
5:检查mysql组和用户是否存在,如无建立数据库
[root@dbserver ~]# cat /etc/group | grep mysql [root@dbserver ~]# cat /etc/passwd |grep mysql
建立ide
[root@dbserver ~]#groupadd mysql [root@dbserver ~]#useradd -r -g mysql mysql //useradd -r参数表示mysql用户是系统用户,不可用于登陆系统
6:在mysql下添加data目录ui
[root@dbserver mysql]# mkdir data
7:更改mysql目录下全部的目录及文件夹所属组合用户this
[root@dbserver mysql]# cd /usr/local/ [root@dbserver local]# chown -R mysql mysql/ [root@dbserver local]# chgrp -R mysql mysql/ [root@dbserver local]# cd mysql/ [root@dbserver mysql]# ls -l total 40 drwxr-xr-x. 2 mysql mysql 4096 Aug 31 16:45 bin -rw-r--r--. 1 mysql mysql 17987 Jun 22 22:13 COPYING drwxr-xr-x. 2 mysql mysql 6 Aug 31 16:48 data drwxr-xr-x. 2 mysql mysql 52 Aug 31 16:45 docs drwxr-xr-x. 3 mysql mysql 4096 Aug 31 16:44 include drwxr-xr-x. 5 mysql mysql 4096 Aug 31 16:45 lib drwxr-xr-x. 4 mysql mysql 28 Aug 31 16:45 man -rw-r--r--. 1 mysql mysql 2478 Jun 22 22:13 README drwxr-xr-x. 28 mysql mysql 4096 Aug 31 16:45 share drwxr-xr-x. 2 mysql mysql 86 Aug 31 16:45 support-files
8:安装和初始化数据库
安装code
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data/ 2017-08-31T08:50:23.910440Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-08-31T08:50:23.910635Z 0 [ERROR] Can't find error-message file '/usr/local/mysql/--datadir=/usr/local/mysql/data/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' con figuration directive.2017-08-31T08:50:24.709286Z 0 [Warning] InnoDB: New log files created, LSN=45790 2017-08-31T08:50:24.767540Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-08-31T08:50:24.892629Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 6e083b8f-8e29-11e7-88b1- 005056b427be.2017-08-31T08:50:24.895674Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2017-08-31T08:50:24.896645Z 1 [Note] A temporary password is generated for root@localhost: gFamcspKm2+u
报错[ERROR] Can’t find error-message file ‘/usr/local/mysql/–datadir=/usr/local/mysql/data/share/errmsg.sys’. Check error-message file location and ‘lc-messages-dir’ concdn
解决
[root@dbserver bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US 2017-08-31T09:00:54.941514Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-08-31T09:00:56.364312Z 0 [Warning] InnoDB: New log files created, LSN=45790 2017-08-31T09:00:56.602211Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-08-31T09:00:56.668145Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e69986d2-8e2a-11e7-a335- 005056b427be.2017-08-31T09:00:56.671464Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2017-08-31T09:00:56.672453Z 1 [Note] A temporary password is generated for root@localhost: qfuqvCsHb2!.
9配置my.cnf
接下来进入/usr/local/mysql/support-files/目录下
查看是否存在my-default.cnf文件,若是存在直接copy到/etc/my.cnf文件中
[root@dbserver mysql]# cp -a ./support-files/my-default.cnf /etc/my.cnf
若是不存在my-default.cnf文件,则在/etc/目录下建立my.cnf,并写入如下内容
#[mysql] #basedir=/usr/local/mysql/ #datadir=/usr/local/mysql/data/
10启动服务
[root@dbserver mysql]# cd bin/ [root@dbserver bin]# ./mysqld_safe --user=mysql & [2] 10436 [root@dbserver bin]# Logging to '/var/log/mysql/mysql.log'. 2017-08-31T09:52:15.806633Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 2017-08-31T09:52:16.292949Z mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended
11将mysqld服务加入开机自启动项。
将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就能够使用service mysql命令启动/中止服务,
不然就只能使用{mysql}/bin/mysqld_safe &命令来启动服务
还须要把mysql.server中basedir的相关路径,改成自定义的路径,默认路径是/usr/local/mysql
[root@dbserver support-files]# cp mysql.server /etc/init.d/mysql [root@dbserver support-files]# chmod +x /etc/init.d/mysql -- 把mysql注册为开机启动的服务 [root@dbserver support-files]# chkconfig --add mysql -- 查看是否添加成功 [root@dbserver support-files]# chkconfig --list mysql Note: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'. To see services enabled on particular target use 'systemctl list-dependencies [target]'. mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
12启动服务
[root@dbserver bin]# service mysql start Starting MySQL.Logging to '/var/log/mysql/mysql.log'. ERROR! The server quit without updating PID file (/var/lib/mysql/dbserver.pid).
解决
[root@dbserver mysql]# rm /etc/my.cnf rm: remove regular file '/etc/my.cnf'? y [root@dbserver mysql]# /etc/init.d/mysql start Starting MySQL.Logging to '/usr/local/mysql/data/dbserver.err'. SUCCESS! [root@dbserver mysql]# service mysql start Starting MySQL SUCCESS!
13登陆mysql
[root@dbserver bin]# ./mysql -u root -p 密码是第八步产生的密码
14设置密码
mysql> set password=password("root"); Query OK, 0 rows affected, 1 warning (0.00 sec) 注意不要使用单引号,为何?你本身试试就知道了
15设置远程登陆权限
mysql> grant all privileges on *.* to'root' @'%' identified by 'root'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.06 sec) mysql> quit Bye