在Linux下给mysql创建用户并分配权限等问题
在linux系统中安装MySQL的步骤
创新互联-专业网站定制、快速模板网站建设、高性价比崇义网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式崇义网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖崇义地区。费用合理售后完善,十余年实体公司更值得信赖。
工具:
mysql-5.6.17-linux-glibc2.5-i686.tar.gz
mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz
linux系统64位
方法/步骤
1、到mysql官网下载mysql编译好的二进制安装包.
2、解压安装包:
3、进入安装包所在目录,执行命令:tar -zxvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz
4、复制解压后的mysql目录到系统的本地软件目录:
执行命令:cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r
注意:目录结尾不要加/
5、添加系统mysql组和mysql用户:
执行命令:groupadd mysql和useradd -r -g mysql mysql
6、安装数据库:
7、进入安装mysql软件目录:执行命令 cd /usr/local/mysql
8、修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./
9、安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql
10、修改当前目录拥有者为root用户:执行命令 chown -R root:root ./
11、修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data
到此数据库安装完毕
1、启动mysql服务和添加开机启动mysql服务:
添加开机启动:执行命令cp support-files/mysql.server /etc/init.d/mysql,把启动脚本放到开机 初始化目录
2、启动mysql服务:执行命令service mysql start
执行命令:ps -ef|grep mysql 看到mysql服务说明启动成功
3、修改mysql的root用户密码,root初始密码为空的:
执行命令:./bin/mysqladmin -u root password '密码'
4、把mysql客户端放到默认路径:
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql
在Linux下给mysql创建用户并分配权限
1.新建用户
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'Tome’,password(‘Tome’));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:Tome 密码为:Tome 的用户。
//退出后登录一下
mysql>exit;
@>mysql -u Tome -p
@>输入密码
mysql>登录成功
2.为用户授权
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录。
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(TomeDB)
mysql>create database TomeDB;
//授权jeecn用户拥有Tome数据库的所有权限
@>grant all privileges on TomeDB.* to Tome@localhost identified by ‘Tome’;
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
//如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on TomeDB.* to Tome@localhost identified by ‘Tome’;
//刷新系统权限表。
mysql>flush privileges;
mysql> grant 权限1,权限2,…权限n on 数据库名称。表名称 to 用户名@用户地址 identified by ‘连接口令’;
权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称。表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%’表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。
例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to ee@10.25.197.95 identified by ‘123′;
给来自10.25.197.95的用户 ee 分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to jee@10.25.197.95 identified by ‘123′;
给来自10.25.197.95的用户 ee 分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to ee@10.25.197.95 identified by ‘123′;
给来自10.25.197.95的用户 ee分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to ee@localhost identified by ‘123′;
给本机用户 ee分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
3.删除用户
@>mysql -u root -p
@>密码
mysql>DELETE FROM mysql.user WHERE User=”Tome”
mysql>flush privileges;
//删除用户的数据库
mysql>drop database TomeDB;
4.修改指定用户密码
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password(‘新密码’) where User=”Tome” and Host=”localhost”;
mysql>flush privileges;
mysql>quit;
5.如果使用root无法连接本地库的话:
提示:1045 access denied for user 'root'@'localhost' using password yes
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE mysql.user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
当前标题:在Linux下给mysql创建用户并分配权限等问题
文章分享:http://scyanting.com/article/gghjop.html