这篇我们来讲讲Linux下Mysql的安装。
安装过程
1. 先去官网下载 Mysql,我这里依然下的是tar.gz,下载完后,放入我们的自定义目录下:
2. 解压压缩包(我这里mysql是5.7的,可能跟此之前的版本会有点出入):
tar -xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
3. 创建 Mysql 组和用户
groupadd mysql
useradd -r -g mysql mysql
4. 拷贝解压后的文件至 /usr/local/mysql
目录下:
cp -R mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
5. 创建data目录:
mkdir /usr/local/mysql/data
6. 切换至 /usr/local/mysql
目录,修改当前目录所有者为 mysql 用户:
cd /usr/local/mysql
chown -R mysql:mysql ./
7. 安装数据库:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
上述的Warning可以忽略,我们这里要记录的是最后一行所赋给root的初始密码(如我这里为 )YemIweXp4g)
)。
执行以下命令创建 RSA private key:
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
将 mysql 目录下除了 data 目录的所有文件改回 root 用户所有,mysql 用户只需要作为 mysql/data
目录下所有文件的所有者。
chown -R root .
chown -R mysql data
8. 复制配置文件并且修改 my.cnf
文件:
cp support-files/my-default.cnf /etc/my.cnf
vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
socket=/usr/local/mysql/tmp/mysql.sock
创建目录:
mkdir -p /usr/local/mysql/tmp
chown -R mysql:mysql tmp
9. 将 mysqld 服务加入开机自启动项:
这里将 mysql.server
拷贝为 /etc/init.d/mysql
并设置运行权限,这样子就可以使用 service mysql
命令启动/停止服务。
cp mysql.server /etc/init.d/mysql
这里还需要将 mysql.server 中的 basedir 的相关路径,修改为自定义的路径(如果有的话),因为这里默认路径是 /usr/local/mysql
,所以我这里不做修改。
将 mysql 注册成为开机启动的服务:
chkconfig --add mysql
10. 将 mysql 加入到环境变量中:
编辑 /etc/profile
文件,在文件的末尾添加如下命令
PATH=$PATH:/usr/local/mysql:/usr/local/mysql/bin
export PATH
执行 source /etc/profile
命令让其立即生效。
11. 登录mysql:
mysql -uroot -p
在做任何操作之前,mysql 会要求修改 root 的密码,使用以下命令修改密码:
SET PASSWORD = PASSWORD('newpasswd');
好了,至此mysql也安装成功了。
注
我在登录过程中遇到 mysql 报错:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
用以下两种方式分别都能解决,供参考:
1. 执行命令 sudo ln -s /usr/local/mysql/tmp/mysql.sock /tmp/mysql.sock
2. 将连接 mysql 的语句修改成 mysql -h 127.0.0.1 -u root -p