然后修改mysqld.cnf文件,这个文件具体看不同发行版,例如Ubuntu 18以上,在
/etc/mysql/mysql.conf.d/mysqld.cnf
找到配置文件中[mysqld]小节,在其中有一行:
user = mysql
改成
user = aiya
保存后退出,重启mysql服务就可以了。
但是请记住,SeLinux和AppArmor会禁止很多东西,你需要修改SeLinux、AppArmor,允许aiya账户访问mysql的数据data目录以及其他权限。如果启动mysql服务出错,请查看mysql日志吧,坑比较多。
如果你使用系统自带的apt install mysql-server指令安装的话,那么mysql server默认就是用单独的【mysql】账户运行的,不会有root提权问题。
编译不需要,但是安装需要。之所以安装的脚本不自动给你创建好用户跟用户组,是因为每个 Linux 发行版创建用户的方法都不同(其实只是略有不同,但完全兼容很困难)。
如果你使用发行版自带的 mysql,那么发行版的安装包已经把这些工作做了,所以直接使用发行版自带的 mysql 会自动帮你创建相关用户跟用户组。
如果你自行编译 mysql,从 mysql 源代码开发者的角度不可能主动去做所有发行版的适配,所以只能让你自己去创建用户跟用户组。
Mysql —— C语言链接mysql数据库,用户 角色 权限 用户组(新增了用户组)
chengelog:
1、新增 添加用户组模块;
2、新增 显示用户组模块;
3、修改 新增用户模块 选择 其所属用户组 并把用户id与用户组id 写入用户用户组关系表;
4、新增 修改用户以及删除用户组模块(有用户属于该用户组 用户组名字不允许更改 用户组不允许删除);
5、新增 增加用户、用户组时候,若要增加的用户名已存在(给出用户存在的提示信息);
6、修改了 显示的界面问题;
7、修改部分switch case 输入为字符;
8、修改部分 *** 作完成后 有两次回车 确认的问题;
遗留的问题:
1、switch case 输入为字符,应该改为case a:breskcase b:break…… 否则输入的1与10是一样的执行结果;
字符中只有数字0-9;
2、在remark字段中 scanf()函数是不允许输入空格的。
使用命令:select
host,user,password
from
mysql.user
来查看用户。
想要了解更多关于Linux的资讯和文章请关注《linux就该这么学》。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)