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 

猜你喜欢

转载自blog.csdn.net/qq_37437983/article/details/105439043