文章目录
yum安装mysql
yum安装相对来说比较简单,但是又诸多限制,比如,我们不能自定义数据保存、日志保存位置等。可在该页面,Mysql Community Downloads,下载相应的Repository,比如我是Centos,我们点击 MySQL Yum Repository。
# 获取mysql rpm源
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
# 安装源
rpm -ivh mysql80-community-release-el8-1.noarch.rpm
# 更新源
yum update
# 显示mysql相关源
yum list | grep mysql-com
# 安装mysql
yum install mysql-server
# 启动mysql服务
systemctl start mysqld
# 查看服务状态
systemctl status mysqld
# 强力删除模式
rpm -e --nodeps mysql
该方法安装的临时密码,我们可以在/var/log/mysql/mysqld.log
文件中查看,代码如下:
tail /var/log/mysql/mysqld.log
grep 'password' /var/log/mysql/mysqld.log
同时datadir
在/var/lib/mysql
。
预编译版本安装
预编译版本安装,大家可以参考链接 2.2 Installing MySQL on Unix/Linux Using Generic Binaries
1. 安装依赖
yum search libaio # search for info
yum install libaio # install library
yum install ncurses-compat-libs
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /usr/local
tar xvf /path/to/mysql-VERSION-OS.tar.xz
ln -s full-path-to-mysql-VERSION-OS mysql
2. mysql初始化
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
bin/mysql_ssl_rsa_setup
chown -R root .
chown -R mysql data mysql-files
3. 建立Mysql配置文件my.cnf
在/etc/my.cnf
文件中加入以下信息:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/data
4.启动mysql
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig -add mysqld
# 自启动
chkconfig mysqld on
# 启动服务
service mysqld start
到这一步,mysql服务就已经启动了,我们可以通过以下命令,查看mysql具体信息:
# 查看mysql具体信息
ps aux|grep mysqld
mysql 25634 0.0 9.7 2118212 369692 pts/1 Sl 19:17 0:03 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=ssp.err --pid-file=/usr/local/mysql/data/ssp.pid
从以上信息,我们能够了解相关信息存储的位置,其中--log-error=ssp.err
没有指定存储文职,那么久保存在 ./data
目录下。
5. 环境变量
echo "export PATH=$PATH;/usr/local/mysql/bin">>/etc/profile
以上代码,将mysql/bin
加入环境变量中,同时将其加入/etc/profile
文件中,表示开机初始化。
6.重新初始化
当我们忘记密码的时候,我们可以重新初始化,操作如下:
# 停止mysql服务
service mysqld stop
# 移除数据文件夹
# rm -rf /usr/local/mysql/data
# 修改权限
chown -R mysql .
chgrp -R mysql .
# 初始化
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
bin/mysql_ssl_rsa_setup
# 修改权限
chown -R root .
chown -R mysql data mysql-files
在初始化那一步,需要记录好 生成的临时密码,通过以下方式登录及修改密码:
# 登录
mysql -uroot -p'#s)ewxq!G8fl'
# 修改密码为(fzh123)
alter user root@'localhost' identified by '(fzh123)'
源码编译安装
首先是下载源码:mysql下载源码方法
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
yum -y install cmake
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
tar xvf mysql-5.7.19.tar.gz
cd mysql-5.7.19
tar xf /root/boost_1_59_0.tar.gz
cmake . \
make
make install
cd mysql
到这里,后面的操作就和 预编译方法一致了
忘记密码了怎么办?
如果我们忘记密码了,只需在/etc/my.cnf
文件末尾加上:
[mysqld]
skip-grant-tables
然后service mysqld restart
重启服务即可。接下来我们就能进入 mysql shell
界面,对于Centos 8的用户可以使用以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '(fzh123)';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute t
如果报错, ERROR 1290 (HY000): The MySQL server i只需要刷新一下权限表,flush privileges
重新执行即可。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '(fzh123)';
Query OK, 0 rows affected (0.04 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> \q
Bye
退出来,然后将/ect/my.cnf
中skip-grant-tables
注释掉即可。