本文记录 Linux 下mysql 的安装配置过程。
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 [1]
sudo netstat -tap | grep mysql
lsb_release -a
# ubuntu
sudo apt-get install mysql-server mysql-client
# debian
apt install mariadb-server mariadb-client
尝试安装不合适自己发行版的包会报错
Package ‘mysql-server‘ has no installation candidate
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。[2]
wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb
sudo apt install ./mysql-apt-config_0.8.13-1_all.deb
OK
:$ sudo netstat -tap | grep mysql
tcp 0 0 localhost.localdo:mysql 0.0.0.0:* LISTEN 28807/mysqld
sudo mysql_secure_installation
$ mysql
ERROR 1698 (28000): Access denied for user 'vvd'@'localhost'
$ sudo mysql
USE mysql;
SELECT User, Host, plugin FROM mysql.user;
+------+-----------+-------------+
| User | Host | plugin |
+------+-----------+-------------+
| root | localhost | unix_socket |
+------+-----------+-------------+
vvd
,不在表里,无法顺利访问 mysql$ sudo mysql
mysql> USE mysql;
mysql> CREATE USER 'vvd'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'vvd'@'localhost';
mysql> UPDATE user SET plugin='unix_socket' WHERE User='vvd';
mysql> FLUSH PRIVILEGES;
mysql> exit;
注意,
plugin='unix_socket'
这个插件配置为上文中root的相同插件,我在 debian 10 下是unix_socket
,ubuntu 是auth_socket
否则报错:
ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
sudo systemctl restart mysql
# 或
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
vvd $ mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 36
Server version: 10.3.31-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> exit;
Bye
docker run -d \
--name mysql \
-e MYSQL_ROOT_PASSWORD=<你的mysql密码> \
-p 13306:3306 \
-v /docker/volumns/mysql/data:/var/lib/mysql \
--restart unless-stopped \
mariadb:10.4.7-bionic
1、使用 service 启动:service mysqld start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:safe_mysqld&
1、使用 service 启动:service mysqld stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
3、mysqladmin shutdown
1、使用 service 启动:service mysqld restart
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart
netstat -tl | grep mysql
ps -aux | grep mysqld
sudo apt-get purge mariadb-*
yes
表示删除数据库文件$ dpkg --list|grep maria
$ netstat -tl | grep mysql