記錄自用:
一,刪除舊版本的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