Ubuntu安装 MySQL 操作
写文章的目的,就是为了方便大家安装,安装这种事情,有手就行,但是好多文章不贴执行语句啊,搞起来慢死了,我把执行语句贴上了。
一、下载Mysql
1、直接下载二进制压缩包进行安装,解压并设置相关的参数就可以运行。
2、下载5.7的源,然后通过apt install mysql-server=5.7.34-1ubuntu18.04的方式进行安装。
3、下载5.7的deb文件,然后通过dpkg -i的方式安装。
本文是方式1的方式进行安装,相较于后两种,稍微复杂一些。
下载地址:https://downloads.mysql.com/archives/community/
二、环境配置
2.1 检测系统是否自带Mysql
rpm -qa|grep mysql
如果有进行强行卸载
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64
2.2 检测系统是否自带mariadb
rpm -qa|grep mariadb
如果有进行强行卸载
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
rpm -e --nodeps mariadb-5.5.64-1.el7.x86_64
三、安装
3.1 解压
tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64
3.2 复制/usr/local/mysql 目录下
cp mysql-5.7.34-linux-glibc2.12-x86_64 /etc/local/mysql/ -r
3.3 改名
mv mysql-5.7.34-linux-glibc2.12-x86_64 mysql5.7.34
3.4 检查Mysql 组和用户是否存在
检查命令
cat /etc/group|grep mysql
添加mysql组
groupadd mysql
创建Mysql 用户
useradd -r -g mysql mysql
#useradd -r 参数表示mysql用户是系统用户,不可用于登录系统
3.5 安装数据库
创建data目录
mkdir data
将/usr/local/mysql-5.7.34的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql/mysql5.7.34/
在/usr/local/mysql/mysql5.7.34/support-files
目录下创建my_default.cnf
[mysqld]
#设置mysql的安装目录
basedir =/usr/local/mysql/mysql5.7.34
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql/mysql5.7.34/data
#设置端口
port = 3306
socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /usr/local/mysql/mysql5.7.34/data/mysqld.log
pid-file = /usr/local/mysql/mysql5.7.34/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
拷贝,是否覆盖,是
cp my_default.cnf /etc/my.cnf
3.6 初始化Mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql5.7.34/ --datadir=/usr/local/mysql/mysql5.7.34/data/
如果报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or 就安装libaio,如果没有则跳过
yum install libaio
apt install libaio
3.7 初始化完成之后查看日志,获取临时密码
cat data/mysqld.log
vfHD?b>T:8Fr
3.8 把启动脚本放到开机初始化目录中
cp support-files/mysql.server /etc/init.d/mysql
四、启动mysql
Failed to start mysqld.service: Unit not found
进入mysql并更改密码
cd /usr/local/mysql5.7.34
启动mysql
./bin/mysql -u root -p
更改密码 | 授权 | 刷新权限
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
systemctl restart mysql
五、通过Navicat等图形化连接工具连接Mysql数据库
3.1 打开3306 端口
- 开启端口3306
- firewall
firewall-cmd --zone=public --add-port=3306/tcp --permanent
- ufw
sudo ufw allow 3306
- 重启防火墙
firewall-cmd --reload
查看已经开放的端口:
firewall-cmd --list-ports
3.2 Mysql 开放Root用户允许指定ip 连接
1、登陆mysql
mysql -u root -p
2、设置访问地址
- 允许到指定IP
如果你想允许用户root从ip为192.168.1.123的主机连接到mysql服务器,并使用root作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'IP'IDENTIFIED BY 'password' WITH GRANT OPTION;
- 允许所有IP
如果你想允许用户root从所有Ip的主机连接到mysql服务器,并使用password作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION;