记录自用:
一,删除旧版本的mysql数据库,5.0+版本的
删除mysql
1.sudo apt-get autoremove --purge mysql-server-5.5
2.sudo apt-get remove mysql-common
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
二,安装新版本的,我安装8.0版本的
1,先从https://repo.mysql.com//mysql-apt-config_0.8.12-1_all.deb下载安装包
2,安装 sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb ,选择需要安装的模块,默认即可
3,下载更新:sudo apt-get update;
4,安装:sudo apt-get install -y mysql-server ,此步需要设置密码,要记牢
5,继续安装:sudo apt-get install -y libmysqlclient-dev;
测试连接:mysql -u root -p ,输入上面设置的密码进行连接
三,基础命令
新建数据库
$ mysql -u root -p
CREATE DATABASE xionggm_db;
USE xionggm_db;
CREATE TABLE test01 (
testid VARCHAR(256) NOT NULL PRIMARY KEY,
tesename VARCHAR(256) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
增加用户并赋予对应数据库权限
新增用户并授权
$ mysql -u root -p
create user 'xiong'@'%' identified by 'Xiong123';
GRANT ALL PRIVILEGES ON xionggm_db TO 'xiong'@'%';
-- 创建特定ip访问账户
-- create user 'xiong'@'101.240.XXX.XXX' identified by 'Xiong123';
-- GRANT ALL PRIVILEGES ON *.* TO 'xiong'@'101.240.XXX.XXX';
create user 'guest'@'%' identified by 'guest';
GRANT SELECT ON *.* TO 'guest'@'%';
use mysql;
SELECT HOST,USER,SELECT_PRIV, INSERT_PRIV, UPDATE_PRIV,DELETE_PRIV,CREATE_PRIV,DROP_PRIV FROM user;
show grants for 'xiong';
远程访问
不建议开放root用户的远程访问权限
$ mysql -u root -p
use mysql;
update user set host='172.17.%.%' where user='root';
flush privileges;
改回去
use mysql;
update user set host='localhost' where user='root';
flush privileges;
查看权限
select host,user,authentication_string,plugin from user;
改变加密方式
改为弱加密
ALTER USER 'root'@'%' IDENTIFIED BY 'mysql' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'mysql';
FLUSH PRIVILEGES;
改回强加密
ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'mysql';
FLUSH PRIVILEGES;
mysql shell 基本操作
show databases;
create database xgmdb;
drop database xgmdb;
status;
show tables;
desc tablename;
ubuntu bash 基本操作
service mysql start
service mysql stop
service mysql status
重置数据库
进入mysql:mysql -u root -p
删库
drop database xgm;
查询并删除用户
USE mysql;
SELECT USER FROM user;
...
DROP ROLE 'guest','xiong','guest','mysql';
-- 上述语句遇到错误,使用如下语句。
-- ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
delete from user where user = 'xiong';
修改密码
alter user'root'@'%' IDENTIFIED BY 'Mysql_08';
修改端口并重启服务(in bash)
service mysql stop;
echo '
# overwrite default port
port = 3308
' >> /etc/mysql/mysql.conf.d/mysqld.cnf;
service mysql start;
service mysql status;
卸载MYSQL
使用sudo apt-get remove --purge mysql-\*一键卸载,使用sudo find / -name mysql -print查询残余目录,使用rm -rf卸载。
文件导入与导出
进入MySQL shell
use xionggm_db;
source /root/movie_infos.sql;
参考:
https://github.com/JimXiongGM/BigDataProject/blob/master/Documentations/MySql_8.0.md