0
点赞
收藏
分享

微信扫一扫

CentOS与Ubuntu的MySQL安装

王栩的文字 2022-10-09 阅读 72

Centos安装MySQL5.7

在MySQL官网中下载YUM源rpm安装包:https://dev.mysql.com/downloads/repo/yum/

下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安装mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"
yum install mysql-community-server

启动MySQL服务

systemctl start mysqld

查看MySQL的启动状态

systemctl status mysqld

开机启动

systemctl enable mysqld
systemctl daemon-reload

修改root本地登录密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。
通过下面的方式找到root默认密码,然后登录mysql进行修改:

grep 'temporary password' /var/log/mysqld.log

mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
或者
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';


Ubuntu安装MySQL5.7

ubuntu 20.04系统自带源直接安装是MySQL 8.0,我要安装MySQL 5.7的版本的所以先进行换源。

备份原来的sorce文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.old

修改sources.list文件

sudo vim /etc/apt/sources.list

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

我选择的是清华镜像源。将sources.list内容清空,然后选择一个源粘贴到sources.list,保存退出。

更新镜像源

sudo apt-get update

更新软件

sudo apt-get upgrade

安装mysql5.7服务端

sudo apt-get install mysql-server-5.7

提示输入用户密码,需输入2次

mysql -V # 查看mysql版本
netstat -tap | grep mysql # 查看mysql服务

安装mysql5.7客户端

sudo apt-get install mysql-client-5.7

使用c/c++等语言操作mysql的动态链接库,如果不需要可不安装

sudo apt install libmysqlclient-dev

deb安装包安装

安装包可以在服务器里直接获取或者自己去官网下载

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar

官网网址:https://downloads.mysql.com/archives/community/

新建目录

mkdir mysql5.7.31
mv mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar ./mysql5.7.31

解压出来的deb安装包如下:

sudo tar -vxf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar

libmysqlclient20_5.7.31-1ubuntu18.04_amd64.deb
mysql-client_5.7.31-1ubuntu18.04_amd64.deb
mysql-community-source_5.7.31-1ubuntu18.04_amd64.deb
mysql-server_5.7.31-1ubuntu18.04_amd64.deb
mysql-common_5.7.31-1ubuntu18.04_amd64.deb
mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb
libmysqlclient-dev_5.7.31-1ubuntu18.04_amd64.deb
mysql-community-client_5.7.31-1ubuntu18.04_amd64.deb
mysql-community-server_5.7.31-1ubuntu18.04_amd64.deb
libmysqld-dev_5.7.31-1ubuntu18.04_amd64.deb
mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb

删除2个测试相关的包

sudo rm -f mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb
sudo rm -f mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb

用dpkg进行安装

sudo dpkg -i mysql-*.deb

报错安装相关依赖包即可

下载网址 https://ubuntu.pkgs.org/
sudo apt-get install libtinfo5
sudo apt-get install libmecab2

再次用dpkg进行安装

sudo dpkg -i mysql-*.deb
提示输入2次root密码,然后安装成功

mysql -V # 查看mysql版本
netstat -tap | grep mysql # 查看mysql服务

未设置或忘了密码解决办法

停止mysql服务

sudo service mysql stop

修改MySQL的登录设置,暂时不校验登陆密码

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

 将[mysqld]下的“skip-external-locking”注释掉

# 添加 “skip-grant-tables” 然后保存退出
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
#skip-external-locking
skip-grant-tables

重启mysql数据库

sudo service mysql restart

免密登陆mysql数据库

mysql -u root mysql

修改root密码

update mysql.user set authentication_string=password('111222333') where user='root';

flush privileges;

还原MySQL的登录设置

# 将[mysqld]下添加的“skip-grant-tables” 删除
# 将“skip-external-locking”的注释放开然后保存退出
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

重启mysql数据库

sudo service mysql restart

使用新密码登陆mysql

mysql -uroot -p1123 mysql


卸载MySql

1.sudo apt-get autoremove mysql* --purge
2.sudo apt-get remove mysql-server
3.sudo apt-get remove mysql-common

# 清理残留数据

sudo dpkg -l |grep mysql|awk '{print $2}' |sudo xargs dpkg -P 
sudo rm -rf /etc/mysql/
sudo rm -rf /var/lib/mysql

# 检查是否删除完毕

whereis mysql
sudo find / -name mysql

修改数据库存放目录

停止服务

systemctl stop mysql

创建目录

mkdir /data/mysql
mv /var/lib/mysql /data/

修改配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf     
datadir = /data/mysql
vim /etc/apparmor.d/usr.sbin.mysqld //修改apparmo配置
# Allow data dir access
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
/data/mysql/ r,
/data/mysql/** rwk,

重新加载配置

service apparmor reload

chown mysql:mysql -R /data/mysql/

重启服务

systemctl start mysql







举报

相关推荐

0 条评论