mariadb基础命令
查看数据表的数据表的物理路径
MariaDB [(none)]> show global variables like '%datadir%'
使用'READ-COMMITTED'作为默认隔离级别
MariaDB [(none)]> SET GLOBAL tx_isolation='READ-COMMITTED';
创建用户并授权(把newddb数据库分配给adduser用户并设置密码为:adduser123)
MariaDB [(none)]> grant all privileges on newddb.* to adduser@'localhost' identified by 'adduser123';
创建utf8mb4编码的数据库(数据库名称:newdb)
MariaDB [(none)]> CREATE DATABASE newdb DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
创建utf8编码的数据库(数据库名称:newdb)
MariaDB [(none)]> CREATE DATABASE newdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
刷新权限表
MariaDB [(none)]> flush privileges;
删除用户(用户名:testuser)
MariaDB [(none)]> drop user testuser
删除数据库(用户名:testdb)
MariaDB [(none)]> drop database testdb
查看连接数
[root@wkjhost ~]# mysqladmin -uroot -p123 processlist
查看配置遍历
MariaDB [(none)]> show variables like '%query_cache%'
初始化数据库密码: root_pwd
[root@wkjhost ~]# mysql_secure_installation
centos7安装mariadb 10
添加 MariaDB 的YUM配置文件MariaDB.repo文件
[root@wkjhost ~]# vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
安装 MariaDB
[root@wkjhost ~]# yum install MariaDB-server -y
mariadb基础命令问题解决
数据库启动不了
查看数据库日志
[root@wkjhost ~]# vi /var/log/mariadb/mariadb.log
进入数据库的数据目录,清除logfile文件
[root@wkjhost ~]# rm -f /uar/lib/mysql/ib_logfile*
检查数据库端口是否被占用
[root@wkjhost ~]# netstat -tunpl | grep 3306
数据库进不去(密码不正确)
停止数据库服务
[root@wkjhost ~]# systemctl stop mariadb
跳过权限表进行启动(登录数据库就不用密码)
[root@wkjhost ~]# mysqld_safe --skip-grant-tables &
直接登录数据库(直接点击确定就行)
[root@wkjhost ~]# mysql -uroot -p
修改密码
MariaDB [(none)]> update mysql.user set password=password("root_pwd") where user="root";
MariaDB [(none)]> quit
杀死mysql进程,启动mysql服务
[root@wkjhost ~]# kill `netstat -tunpl | grep 3306 | awk -F' ' '{ print $7 }'|awk -F'/' '{print $1}'`
[root@wkjhost ~]# systemctl start mariadb
Mysql8密码问题
问题:发现登录不了,报错:navicat不支持caching_sha_password加密方式
原因:mysql8.0使用新的密码加密方式:caching_sha_password
解决方式:修改成旧的加密方式(mysql_native_password),并重置密码
select host,user,plugin from user;
alter user 'root'@'%' identified with mysql_native_password by 'root';
SQL语句收集
把table_name表中的key字段中的“table.”修改为“entity.”的sql语句
UPDATE `table_name` SET `key` = REPLACE(`key`, 'table.', 'entity.') WHERE `key` LIKE 'table.%';