ubuntu環境下mysql安裝與基本使用

記錄自用:

一,刪除舊版本的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

https://www.cnblogs.com/jpfss/p/7932019.html 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章