centos 安装 mysql 5.7.19

来源:互联网 发布:大力水手 知乎 编辑:程序博客网 时间:2024/06/17 09:35

1. 下载

在官网 https://dev.mysql.com/downloads/mysql/ 下载相应的版本,如下:


2. 跳过登录


3. 解压文件

[root@dbserver /]# tar -xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

4. 修改文件

[root@dbserver local]# mv  mysql-5.7.19-linux-glibc2.12-x86_64 mysql

5. 创建mysql组和用户

[root@dbserver ~]#groupadd mysql[root@dbserver ~]#useradd -r -g mysql mysql  //useradd -r参数表示mysql用户是系统用户,不可用于登录系统

6. 在mysql目录下创建data目录

[root@dbserver mysql]# mkdir data


7. 更改mysql目录下所有的目录及文件夹所属组合用户
[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 -ltotal 40drwxr-xr-x.  2 mysql mysql  4096 Aug 31 16:45 bin-rw-r--r--.  1 mysql mysql 17987 Jun 22 22:13 COPYINGdrwxr-xr-x.  2 mysql mysql     6 Aug 31 16:48 datadrwxr-xr-x.  2 mysql mysql    52 Aug 31 16:45 docsdrwxr-xr-x.  3 mysql mysql  4096 Aug 31 16:44 includedrwxr-xr-x.  5 mysql mysql  4096 Aug 31 16:45 libdrwxr-xr-x.  4 mysql mysql    28 Aug 31 16:45 man-rw-r--r--.  1 mysql mysql  2478 Jun 22 22:13 READMEdrwxr-xr-x. 28 mysql mysql  4096 Aug 31 16:45 sharedrwxr-xr-x.  2 mysql mysql    86 Aug 31 16:45 support-files

8. 安装和初始化数据库 

   ./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' configuration directive.2017-08-31T08:50:24.709286Z 0 [Warning] InnoDB: New log files created, LSN=457902017-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’ con

解决

[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_US2017-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=457902017-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(该步可不用设置,后其需要可在mysql目录下创建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/mysql2017-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 startStarting MySQL.Logging to '/var/log/mysql/mysql.log'. ERROR! The server quit without updating PID file (/var/lib/mysql/dbserver.pid).

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> quitBye


参考:

http://blog.csdn.net/zhou920786312/article/details/77750604

http://blog.csdn.net/wolf_love666/article/details/76155001

原创粉丝点击