# 查看版本(正常显示版本则说明安装成功)
mysql -V
# 查看当前 MySQL 的状态(如果无显示则证明未安装成功)
service mysql status
登录 MySQL
# 重启 MySQL 服务
service mysql restart
# 登录 MySQL
# -u 表示选择用户名
# -p 表示即将输入用户密码
# 执行后会提示输入密码(默认密码即为 ubuntu 系统密码)
mysql -u root -p
# 若出现 Access denied for user root@localhost 权限错误,则需要更改用户名和密码
# 若无错误,则跳过 更改用户名和密码 步骤
更改用户名和密码
# 更改用户名和密码(否则会出现 Access denied for user root@localhost 权限错误)
# 查看默认安装的 MySQL 的用户名和密码
sudo cat /etc/mysql/debian.cnf
# 可能显示如下
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = aKZ7wMW0xv7ncmgn
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = aKZ7wMW0xv7ncmgn
socket = /var/run/mysqld/mysqld.sock
# 其中 用户 和 密码 分别如下
# user = debian-sys-maint
# password = aKZ7wMW0xv7ncmgn
# 使用上述 用户 和 密码 重新登录 MySQL
mysql -u debian-sys-maint -p
# 此时应该成功登录
# 在 MySQL 内
mysql> use mysql;
# 刷新权限
mysql> FLUSH PRIVILEGES;
# 更改 用户名(root) 及 密码(123456)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '123456';
# 刷新权限
mysql> FLUSH PRIVILEGES;
# 退出 MySQL
mysql> quit;
# 重启 MySQL 服务
service mysql restart
# 使用修改后的 用户名(root) 及 密码(123456) 登录 MySQL 验证,未报错则说明修改成功
mysql -u root -p
# 退出 MySQL
mysql> quit;
常用服务操作
# 查看当前 MySQL 的状态
service mysql status
# 启动 MySQL 服务
service mysql start
# 重启 MySQL 服务
service mysql restart
# 登录 MySQL
mysql -u root -p
# 停止服务
service mysql stop
# 官网:https://dev.mysql.com/downloads/mysql/5.7.html 下载 MySQL_5.7 离线安装包
# 在 MySQL Community Server 5.7.39 下方的下拉框分别选择:
# Linux - Generic
# Linux - Generic(glibc 2.12)(x86, 64-bit)
# 然后选择:
Compressed TAR Archive 5.7.39 645.3M
(mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz)
# 点击 Download
# 将下载好的 mysql-5.7*.tar.gz 上传至服务器,即 centos系统 的 /usr/local/ 下
cd /usr/local/
ll
# 解压安装包,会生成文件夹 mysql-5.7*
sudo tar -zxvf mysql-5.7*.tar.gz
# 将文件夹 mysql-5.7* 改名为 mysql
sudo mv mysql-5.7* mysql
ll
创建用户和用户组
# 创建用户和用户组
# 为了方便数据库管理,通常会建立一个 mysql 用户和 mysql 用户组
# 先检查 mysql 用户和用户组有没有被使用(无搜索结果,则未被使用)
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
# 添加 mysql 用户组
sudo groupadd mysql
# 添加 mysql 用户并加入用户组
sudo useradd -g mysql mysql
# 修改 mysql 用户的登陆密码
passwd mysql
目录授权
# 目录授权
cd /usr/local/
sudo chown -R mysql mysql/
sudo chgrp -R mysql mysql/
cd mysql/
sudo mkdir data
sudo chown -R mysql:mysql data
配置文件
# 配置文件的创建和配置信息
# 默认这个配置文件不存在,需要创建,并且填入配置信息
cd /usr/local/mysql/
sudo touch my.cnf
vi my.cnf
# 启动 mysql 及可能存在问题和解决方案
sudo /etc/init.d/mysqld restart
# 可能存在问题1:
ERROR! MySQL server PID file could not be found!
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
# 解决方案:此时需要检查是否有进程占用
# 执行此命令后没有对应的占用应用,就无需操作,如果有就杀死
ps aux|grep mysql
# 如发现进程
nlp 11805 0.0 0.0 112708 976 grep --color=auto mysql
# 杀死进程
kill -9 11805
# 重新启动
sudo /etc/init.d/mysqld restart
# 可能存在问题2:如若问题1解决后依然不能启动,并出现下述报错
Starting MySQL.Logging to '/usr/mysql/mysql-5.7.35/data/localhost.localdomain.err'.
mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
ERROR! The server quit without updating PID file (/usr/mysql/mysql-5.7.35/data/localhost.localdomain.pid).
# 解决方案:此时需要检查是否有进程占用
# 如果 /usr/mysql/*localhost.localdomain.err 文件存在,就打开看下具体原因
# 如果不存在就执行以下步骤
cd /var/lib/
sudo mkdir mysql
# 提供读写权限
sudo chmod 777 /var/lib/mysql
# 重新启动
sudo /etc/init.d/mysqld restart
# 获取 mysql 安装后的初始密码
sudo cat /root/.mysql_secret
# 输出的结果如下
# Password set for user 'root@localhost' at 2022-08-01 18:35:08
/deMng9pdyY;
# 即为随机生成的初始密码
# 修改密码和存在的问题解决方案
mysql -u root -p
# 此时输入初始密码后可能出现如下的问题:
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
# 解决方案如下:
# 首先保证在 /usr/local/mysql/my.cnf 文件中 socket 的配置如下:
[mysqld]
socket = /var/lib/mysql/mysql.sock
# 然后对 /tmp/mysql.sock 和 /var/lib/mysql/mysql.sock 建立软连接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
# 上述问题解决后重新输入 用户名 和 初始密码 即可进入 mysql
mysql -u root -p
# 自定义密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
mysql> FLUSH PRIVILEGES;
# 退出 MySQL
mysql> quit;
# 使用修改后的 用户名(root) 及 密码(123456) 登录 MySQL 验证,未报错则说明修改成功
mysql -u root -p
# 退出 MySQL
mysql> quit;
添加远程访问权限
# 添加远程访问权限
# 登录数据库
mysql -u root -p
# 在 MySQL 内
mysql> use mysql;
# 更新权限
mysql> update user set host='%' where user = 'root';
# 查询是否修改成功
mysql> select host,user from user;
# 结果如下表示成功,root用户的host已经修改为'%'
--+-----------+---------------+
--| host | user |
--+-----------+---------------+
--| % | root |
--| localhost | mysql.session |
--| localhost | mysql.sys |
--+-----------+---------------+
# 查看当前 MySQL 的状态
service mysql status
# 启动 MySQL 服务
service mysql start
# 重启 MySQL 服务
service mysql restart
# 登录 MySQL
mysql -u root -p
# 停止服务
service mysql stop
简单使用
# 登录 MySQL
mysql -h 127.0.0.1 -P 3360 -u root -p
# 查看已有数据库
mysql> SHOW DATABASES;
# 新建数据库
mysql> CREATE DATABASE own_tts;
# 使用数据库
mysql> use own_tts;
# 查看该数据库的数据表
mysql> SHOW TABLES;
# 新建数据表
mysql> CREATE TABLE polyphone (
id INT NOT NULL AUTO_INCREMENT,
data TEXT NOT NULL,
source VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
# 查看数据表结构
mysql> DESCRIBE polyphone;
# 查看前 5 条数据
mysql> SELECT * FROM polyphone LIMIT 5;
# 查看后 5 条数据(以 id 排序)
mysql> SELECT * FROM polyphone ORDER BY id DESC LIMIT 5;
# 查看 id = 36 的数据
mysql> SELECT * FROM polyphone WHERE id = 36;
# 复制 polyphone 表为 polyphone_bak
mysql> CREATE TABLE polyphone_bak AS SELECT * FROM polyphone;
# 删除数据表
mysql> DROP TABLE IF EXISTS polyphone;
# 删除数据库
mysql> DROP DATABASE IF EXISTS own_tts;
# 退出 MySQL
mysql> quit;
评论区