(资料图片)
mariadb版本:mariadb-10.4
[mysqld] #服务端基本配置port=3306 #监听端口user=mysql pid-file = /var/run/mysqld/mysqld.pid #pid所在的目录socket = /var/run/mysqld/mysqld.sock #为mysql客户端程序和服务器之间的本地通讯指定一个套接字文件basedir = /usr #mysql安装目录datadir = /var/lib/mysql #mysql数据库数据文件存放目录tmpdir = /tmp #临时文件存放的目录lc-messages-dir = /usr/share/mysql #存放出错信息文件的目录。skip-external-locking #mysql选项以避免外部锁定。该选项默认开启。不使用系统锁定,要使用myisamchk,必须关闭服务器key_buffer_size = 16M #这个参数用来缓存MyISAM存储引擎的索引参数,增加它可得到更好处理的索引(对所有读和多重写)。max_allowed_packet = 16M #允许最大接收数据包的大小,防止服务器发送过大的数据包thread_stack = 192K #它指的是每个线程的栈大小thread_cache_size = 8 #skip-grant-tables #跳过密码验证
#mariadb开启密码复杂度和密码过期策略mariadb 10.4以上#sql语句设置install soname "simple_password_check";show variables like "%password%"; set global simple_password_check_minimal_length=8; set global simple_password_check_other_characters=1; set global simple_password_check_letters_same_case=1; #字母数字 set global simple_password_check_digits=1; set global default_password_lifetime=180;vim /etc/my.cnf.d/server.cnf[mysqld]plugin-load=simple_password_check #最大连接数 max_connections = #服务器关闭非交互连接之前等待活动的秒数。 wait_timeout = 60 #能够打开的最大文件数 open_files_limit = 1024 #最小1024 65535 #登录错误次数 max_password_errors=5
#sql设置用户的密码过期时间 #创建用户并设置密码过期时间为365天过期 create user "test"@"%" indentified by "123" password expire interval 365 days; #创建用户并设置密码过期时间为不过期 create user "test"@"%" indentified by "123" password expire never; #interval后面接时间day,这里没有是按所以不接 #修改用户的密码过期时间为365 alter user "a"@"%" password expire interval 60 days; #修改用户永不过期 alter user "a"@"%" password expire never ;#使用mairadb命令修改用户的密码,密码过期,锁定,解锁 #修改用户密码,改为新密码 set password for "a"@"%" =password("newpassword"); #修改当前登录用户密码 set password = password("newpassword"); #设置用户口令过期时间 alter user "a"@"%" password expire;#授权语句 grant privileges on databasename.tablename to "username"@"host"; 完全权限 grant all on *.* to "pig"@"%";#回收权限 revoke privilege on databasename.table name from "username"@"host";#限制数据库客户端读写数据文件的路径,将该配置项的值设置为/dev/null将datadir设置为 /dev/null
#禁止远程登录数据库 Web 用户,仅允许本地登录cd /etc/my.cnf.d/vim server.conf修改bind-address=0.0.0.0 并去掉前面的井号
#查询数据库权限有什么show privileges#回收权限 #回收时拿回权限所以是fromrevoke all on website.* from web@"host" ;#host从select user,host from mysql.user;看#授权 授予权限所以是togrant select,insert,delete,alter on website.* to web@"host";