Linux阿里云服务器CentOS7安装MySQL5.7。一、准备工作1、从MySQL官网下载MySQL5.7.23:mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz2、检查MySQL是否已经安装:$>rpm-qa|grepmysql如果已经安装对于其他版本的MySQL,使用以下命令卸载:$>rpm-e现有MySQL的全名3.添加用户组专门管理mysql,提高安全性(不是必须的,你可以跳过)$>groupaddmysql$>useradd-r-gmysql-s/bin/falsemysql4.安装libaio1:libaio1是MySQL的安装依赖,必须先安装(前提)$>yuminstalllibaio-devel.x86_642.安装1.解压mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz并移动到/usr/local/mysql文件夹:$>tar-xvfmysql-5.7.23-linux-glibc2.12-x86_64.tar.gz-C/usr/local$>mvmysql-5.7.23-linux-glibc2.12-x86_64/usr/local/mysql$>chown-Rmysql:mysqlmysql2,配置MySQL服务,将support-files下的mysql.server复制到/etc/init.d/并命名为mysql:$>cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysql3,修改参数/etc/init.d/mysql:$>vi/etc/init.d/mysql#修改如下内容basedir=/usr/local/mysqldatadir=/usr/local/mysql/data4,配置MySQL的配置文件,在其他版本的mysql的support-files目录下有一个默认的配置文件,5.7.23版本没有。你需要自己准备。这是/etc中的一个简单的基本配置文件在/下新建my.cnf,有的可能会提示已经存在,因为默认的数据库配置文件也有,直接覆盖即可:注意:在my.cnf文件所在目录下,看有没有一个名为my.cnf.d的文件夹,如果没有则需要新建一个,否则后面安装的时候会报错$>touch/etc/my.cnf$>vi/etc/my.cnf#my.cnf内容如下#***DONOTEDITTHISFILE.它是一个模板,在安装过程中将被复制到#***默认位置,如果您#***升级到更新版本的MySQL,它将被替换。[client]port=3306#普通项目的编码方式可以设置为utf8#这里设置为utf8mb4是因为我的项目需要存储emoji表情,#虽然这个表情是utf8编码,但是一个字符需要占用4个字节,而MySQLutf8编码只能存储3个字节的字符。#在MySQL5.6及以上版本中,编码可以设置为utf8mb4,它是utf8的超集。default-character-set=utf8mb4[mysqld]#通用配置选项basedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport=3306#普通项目的编码方式可以设置成utf8#这里是设置为utf8mb4,因为我的项目需要存储emoji表情,#虽然这个表情是utf8编码,但是一个字符需要占用4个字节,而MySQLutf8编码只能存储3个字节的字符。#在MySQL5.6及以上版本中,编码可以设置为utf8mb4,它是utf8的超集。character-set-server=utf8mb4default_storage_engine=InnoDBsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONsocket=/var/lib/mysql/mysql.sock,或者将值改为0;lower_case_table_names=1#建议禁用符号链接以防止各种安全风险symbolic-links=0#使用systemd时忽略设置用户和组。#如果你需要在不同的用户或组下运行mysqld,#根据[mysqld_safe]log-error=/var/log/mysql/mariadb/mariadb.logpid-file=/var自定义mariadb的systemd单元文件/run/mysql/mariadb/mariadb.pid#includeconfig目录下的所有文件!includedir/etc/my.cnf.d5,创建相关目录文件:$>mkdir-p/var/log/mysql/mariadb$>touch/var/log/mysql/mariadb/mariadb.log$>chown-Rmysql:mysql/var/log/mysql$>mkdir/var/run/mysql$>chown-Rmysql:mysql/var/run/mysql$>mkdir/var/lib/mysql$>chown-Rmysql:mysql/var/lib/mysql$>ln-s/var/lib/mysql/mysql.sock/tmp/mysql.sock6。切换到mysql的bin目录下,执行如下命令初始化数据库:$>rm-rf/usr/local/mysql/data/*(没有/usr/local/mysql/data可以不执行)目录)$>。/mysqld--initialize--user=mysql--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data7,执行完成后会在执行中自动生成默认初始密码记录,注意copy出来!8、启动mysql服务,底部会提示startsuccessfully$>servicemysqlstartStartsuccessfully会显示:StartingMySQL[OK!]9、配置mysql的环境变量$>cd/etc/profile.d$>touchmysql。sh$>vimysql.sh#mysql.sh添加如下内容MYSQL_HOME=/usr/local/mysqlPATH=$PATH:$MYSQL_HOME/binexportMYSQL_HOMEPATH$>source/etc/profile3.登录1.登录$>mysql-uroot-p#输入默认初始密码2,修改密码mysql>setpassword=password('newpassword');3、启用远程登录3.1、设置mysql的远程登录:#grantallprivilegesonlibrary.tabletouser@'%'identifiedby'userpassword';mysql>grantallprivilegeson*.*toroot@'%'identifiedby'rootpassword';mysql>刷新权限;3.2、设置防火墙:#set防火墙:$>firewall-cmd--zone=public--add-port=3306/tcp--permanent#重新加载:$>firewall-cmd--reload#查看:$>firewall-cmd--zone=public--query-port=3306/tcporfirewall-cmd--zone=public--list-ports4.设置开机自动启动(非必须,不影响使用):$>chkconfig--list$>chkconfig--addmysql$>chkconfigmysqlon#然后再次使用chkconfig--list命令查看自启动服务列表,#你会看到mysql的2-5个都显示on(有的是on);#表示mysql服务会随机器自动启动,然后就可以导入sql文件创建表并运行服务了。如果要关闭mysql服务:$>servicemysqlstop
