1. 下载并安装mysql
# 1.下载并解压缩mysql_server服务
mkdir /usr/lib/mysql
sudo tar -xvf mysql-server_5.7.34-1ubuntu18.04_amd64.deb-bundle.tar -C /usr/lib/mysql/
# 2.安装添加的依赖
sudo apt install -y libaio1 libmecab2
# 3.对mysql的deb文件,安装时要注意安装包的顺序
sudo dpkg -i mysql-common_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqlclient20_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqld-dev_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-client_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-client_5.7.34-1ubuntu18.04_amd64.deb
#设置mysql的root用户,设置密码
sudo dpkg-preconfigure mysql-community-server_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-server_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-server_5.7.34-1ubuntu18.04_amd64.deb
##卸载 MySQL的安装 ##
dpkg --list | grep mysql
sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql*
sudo apt-get remove apparmor # 自动卸载mysql的程序
dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P #清除残留数据
rm -r /var/lib/mysql
rm -r /etc/mysql
## 常见的dpkg命令 ##
dpkg -i package.deb #安装包
dpkg -r package#删除包
dpkg -P package#删除包(包括配置文件)
dpkg -L package#列出与该包关联的文件
dpkg -l package#显示该包的版本
2.修改配置和添加远程服务
which is not functionally dependent on columns in GROUP BY clause? 解决: 需要在mysqld.conf配置文件中添加 sql_mode (在下面的配置中,已经添加)
## 1.修改配置文件
vim /etc/mysql/mysql.conf.d/mysqld.conf
## 2.添加mysql.conf 配置文件
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log
port = 23306
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
skip_name_resolve
lower_case_table_names=1
# By default we only accept connections from localhost
bind-address = 0.0.0.0
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links = 0
#
# * Query Cache Configuration
query_cache_limit = 1M
query_cache_size = 16M
#
# * log_bin
expire_logs_days = 30
max_binlog_size = 256M
group_concat_max_len=10240000
max_allowed_packet=1G
max_connections=8000
## 4.登录数据库,修改远程访问的权限
mysql -u root -p
use mysql;
grant all on *.* to 'root'@'%' identified by 'root用户的密码' with grant option;
flush privileges;
### MySQL5.7跟8.0的加密方式不一样 ###
mysql> ALTER USER 'test'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
mysql> ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
mysql> FLUSH PRIVILEGES; #刷新权限
## MySQL的操作
service mysql status
service mysql restart
service mysql start | stop
3.MySQL使用小技巧
# 重启mysql服务
service mysqld restart
# 停止mysql服务
service mysqld stop
# 启动mysql服务
service mysqld start
# 登录本机mysql数据库
mysql -uroot -p
# 登录远程mysql数据库
mysql -h主机地址 -u用户名 -p用户密码
# 注意在mysql命令行中使用命令都需要以分号结尾";"之后再回车,命令才会执行
# 查看mysql运行状态
service mysqld status
# 查看mysql的运行使用的进程
ps -e |grep mysql