欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

史上最详细的mysql操作整理

程序员文章站 2022-06-14 09:46:11
...

Mysql 文档整理

启动命令

service mysql start

停止命令

service mysql stop

Mysql的安装

  1. wget “安装地址”;–官网下载的一般是rpm的文件
  2. 解压到对应的目录
    注意事项
    在安装过程可能会有jar包冲突,因为linux中有自带的mariadb的数据库,需要将它删掉才可以成功安装。

可以通过下面的命令查看文件名
rpm -qa | grep -i mysql
移除对应的安装包:
rpm -ev 对那个文件名
如果移除安装包的时候出现包依赖的问题:
则执行以下命令:、
yum remove + 包名 来删除mariadb

  1. rpm -ivh 对应的.rpm文件 server和client两个文件
    –查看是否安装好
    rpm -qa | grep -i mysql
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kMk6N03j-1614827091293)(…/image/mysql-sucess.bmp)]
    出现以上的显示 则说明安装成功了。

如果没有出现,则多半没有安装成功。可以尝试卸载以后再重新安装。卸载步骤如下:
1.rpm -qa|grep -i mysql
查看对应的包名然后执行以下命令进行删除:
2.rpm -ev 对应的包名
再执行第一步看看是否已经全部删除了
3.查找之前老版本mysql的目录,并且删除老版本mysql的文件和库
find / -name mysql
例如查找结果如下:
/var/lib/mysql
/usr/lib64/mysql

4.删除对应的mysql目录:
rm -rf /var/lib mysql
rm -rf /usr/lib64/mysql

卸载后/etc/my.cnf不会删除,需要手工删除
rm -rf /etc/my.cnf

在重新执行前面的安装命令,基本是可以成功安装的。

设置密码:

启动服务以后登录的时候,提示需要输入密码。
查看mysql的临时密码:
cat /root/.mysql_secret
后面一段字符串。
登录以后 执行后面的操作会提示要重置密码,则执行以下命令。
重置密码:
set password = password(‘密码’);

如果忘记密码:
1.可以先跳过密码验证:
mysqld --skip-grant-tables
2.可以用客户端进行连接然后运行一下命令
update user set password=password(‘新密码’) where user=‘账户名 例:root’;

设置MySQL的字符集:
切到/etc
vim my.cnf 添加以下字符
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci

允许远程连接操作:

 1.1 登录数据库:mysql -u root -p
      输入密码
 
  1.2 切到对应的数据库:use mysql
        查看用户情况
        select User,Password,Host from user;
        更新用户的权限
        update user set host ='%' where ='root'; 

用户以及权限管理:

以下localhost代表的都是user表的host

  1. 新增用户
    格式:create user ‘用户名’@localhost identified by ‘密码’;
    例子:create user ‘jdh2’@’%’ identified by ‘jdh2’; ---- ‘%’ 代表允许外网IP访问
  2. 删除用户
    格式:drop user 用户名@localhost;
    例子:drop user [email protected]’%’;
  3. 查看用户
    切换到mysql:
    use mysql;
    执行查看语句:
    select User,Host,Pasword from user;
  4. 查看用户权限:
    格式:show grants for 用户名@localhost;
    例子:show grants for [email protected]’%’;
  5. 用户授予权限:
    格式:grant 权限列表 on 数据库名.数据表名 to ‘用户表名’@‘主机’ with grant option;
    例子:grant all privileges on* .* to [email protected] with grant option;
  6. 刷新权限:
    授权以后一定要刷新权限:
    flush privileges;
  7. 权限回收
    格式:revoke 权限列表 on 数据库名.数据库表名 from 用户名@主机;
    例子:revoke all privileges on pcloud_ust2.* from ‘invoice’@’%’;
    更改用户密码:
    格式:mysql>set password for 用户名@localhost =password(‘新密码’);
    例子: mysql>set password for [email protected]’%’=password(‘123456’);

Mysql 设置自启动:

  1. 将服务文件拷贝到init.d下
    cp /usr/share/mysql/mysql.server /etc/init.d/mysqld
    找mysql.server的对应的目录可以使用一下命令
    find / -name mysql.server
  2. 赋予可执行权限
    chmod +x /etc/init.d/mysqld
  3. 添加为服务:
    chkconfig --add mysqld
  4. 查看服务列表:
    chkconfig --list
    看到3、4、5状态为开或者为on则表示成功。如果关或者off则执行以下:
    chconfig --level 345 mysqld on
  5. 重启计算机:
    reboot
  6. 查看是否设置成功:
    netstat -na | grep 3306

科普一下chmod命令

chmod 用来变更文件或目录的权限。
 语法 chmod(选项)(参数)
 权限范围的表示法如下:
 u User,即文件或目录的拥有者。
 g  Group,即文件或目录的所属群组;
 o  Other.除了文件或目录拥有这货所属群组之前外,其他用户皆属于这个范围;
 a  All,即全部的用户,包含拥有者,所属群组以及其他用户
 r   读取权限,数字代表 ‘4’
 w  写入权限,数字代表 ‘2’
 x   执行或切换权限,数字代号为1,
  • 不具任何权限,数字代号为‘0’
    s 特殊功能说明;变更文件或目录的权限

mysql设置大小写不敏感

找到my.cnf配置文件
在[mysqld] 下一行加入
lower_case_table_names=1

mysql数据导入导出

数据导出:mysqldump -u 用户名 -p密码 数据库名 > 数据库名.sql

例: mysqldump -uroot -p dbname > dbname.sql

只导出表结构:

mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql

只导出表数据:

mysqldump -u用户名 -p密码 -t 数据库名 > 数据库名.sql

数据库导入:

mysql -uroot -p ------登录数据库

show databases; ------显示数据库

use 数据库名; -------切换到对应的数据库中

source 绝对路径.数据库名.sql

例子:source /etc/jdh2_master.sql;