在Linux下安装MySQL可以说是每个开发者必备的知识
刚好我的服务器重装了一下 因此重新安装了MySQL 写下本文特此记录
下载MySQL的压缩包:
官网:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
根据自己的情况选择一个版本的MySQL下载即可(下载速度会比较慢)
下载完之后 传到服务器上(传的也会比较慢)
注:32位还是64位一定要选对 否则后面会出错
解压和移动
输入:
tar -xvf mysql-5.7.30-linux-glibc2.12-i686.tar.gz(实际下载的压缩文件名称)
移动到/usr/local/下并改名:
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
权限配置
创建名为mysql的权限组和用户
输入:
groupadd mysql
useradd -r -g mysql mysql
参数:
-d:指定用户登入时的起始目录
-r:建立系统账号
然后在根目录下创建数据目录:
cd /
mkdir -p /data/mysql
授权:
chown mysql:mysql -R /data/mysql
(将/data下的mysql的用户组改成mysql用户组下面的mysql用户)
MySQL初始化
输入:
vi /etc/my.cnf
输入i
进入编辑模式 然后写入以下内容:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
按下Esc
键 按下Shift+:
输入wq
保存并退出
接着 移动到mysql的bin目录下:
cd /usr/local/mysql/bin/
对mysql进行初始化:
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
注1:若提示:-bash: ./mysqld: No such file or directory…这是因为你的机器是64位的 而你的mysql压缩包下成32位了
(我憨憨了 这个问题研究了半天 后来又重新下了64位的 完美解决)
注2:若提示:[ERROR] Found option without preceding group in config file /etc/my.cnf at line 1!
表示/etc/my.cnf文件写错了(在第一行粘贴文本进去的时候很容易莫名其妙少一些字符)
初始化之后 输入:
cat /data/mysql/mysql.err
查看生成的随机的初始密码 然后复制:
此密码很重要 后面会用到 可复制到记事本上暂存
启动MySQL
将mysql.server放置到/etc/init.d/mysql中:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
输入以下命令以启动MySQL:
service mysql start
查看是否启动:ps -ef|grep mysql
修改密码
进入bin目录 登录:
cd /usr/local/mysql/bin
./mysql -u root -p
将刚才复制的初始随机密码输进去
登录成功:
修改密码:
SET PASSWORD = PASSWORd('123456');
alter user 'root'@'localhost' identified by '123456';
flush privileges;
开启远程连接
此时 还不能远程连接
继续在mysql中输入:
use mysql
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
使root能在任何host上访问数据库
设置软链接
这样 就不需要每次都到bin目录下使用mysql命令了
ln -s /usr/local/mysql/bin/mysql /usr/bin
结语:
装MySQL真的是一部血泪史 踩了无数的坑 报了无数的错 其中有装成了MariaDB的 后来又卸了 反反复复的装了一整天才好不容易装成功
不过 相信有了这次的踩坑经验之后 要是再装MySQL的话 速度应该会快很多吧