Linux安装mysql——源码安装
一、mysql安装前准备工作
1.安装make编译器
make编译器下载地址:http://www.gnu.org/software/make/
(系统默认自带)查看自己的系统是否安装某个软件,如果已经有了,就不用在安装了,但是也有可能之前被卸载了。
如果你之前是使用rpm -ivh make装的,用
# rpm -qa | grep make肯定是能够找到的。
如果你是用
make && make install装的。那么最好直接去找执行程序,就知道有没装上去
# find / -name matlab
如果装了,它会告诉你执行程序被释放到哪个目录了。
++++++++++++++++++++++++++++++++++++++++++
# rpm -qa 是查看该软件是否被安装,# grep和# find是查看文件位置
++++++++++++++++++++++++++++++++++++++++++
# tar zxvf make-3.82.tar.gz
# cd make-3.82
# ./configure
# make
# make install
2.安装bison
bison下载地址:http://www.gnu.org/software/bison/
# tar zxvf bison-2.5.tar.gz
# cd bison-2.5
# ./configure
# make
# make install
3.安装gcc-c++
gcc-c++下载地址:http://www.gnu.org/software/gcc/
# tar zxvf gcc-c++-4.4.4.tar.gz
# cd gcc-c++-4.4.4
#./configure
# make
# make install
4.安装cmake (mysql5.5以后是通过cmake来编译的)
cmake下载地址:http://www.cmake.org/
# tar zxvf cmake-2.8.4.tar.gz
# cd cmake-2.8.4
#./configure
# make
# make install
5.安装ncurses
ncurses下载地址:http://www.gnu.org/software/ncurses/
# tar zxvf ncurses-5.8.tar.gz
# cd ncurses-5.8
#./configure
# make
# make install
或者:rpm -ivh ncurses-5.7-3.20090208.el6.x86_64.rpm
6.安装 ncurses-devel
rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
7、检查是否有已经安装过MySQL,如果有的话先卸载
查看是否有安装没卸载的版本 rpm -qa|grep -i MySQL
如果有强制卸载:rpm -e --nodeps 版本名称
二、开始安装MySQL
(1)MySQL5.5下载
MySQL5.5下载地址:http://dev.mysql.com/
这里我在这里下载的mysql-5.5.10.tar.gz
ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/
准备工作
(2)创建mysql的安装目录及数据库存放目录
[root@ rhel5~]#mkdir -p /usr/local/mysql //安装mysql
[root@ rhel5~]#mkdir -p /usr/local/mysql/data //存放数据库
(3)创建mysql用户及用户组
[root@ rhel5~]groupadd mysql
[root@ rhel5~]useradd mysql -g mysql -M -s /sbin/nologin
参数说明:
#增加一个名为 mysql的用户。
-g:指定新用户所属的用户组(group)
-M:不建立根目录
-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。
(4)安装mysql
[root@ rhel5 local]#tar zxvf mysql-5.5.10.tar.gz
[root@ rhel5 local]#cd mysql-5.5.10
[root@ rhel5 mysql-5.5.10]#cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
(/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci)
[root@ rhel5 mysql-5.5.10]#make
[root@ rhel5 mysql-5.5.10]#make install
参数说明:
# cmake ./
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
-DSYSCONFDIR=/etc \ #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
-DWITH_READLINE=1 \ #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
-DMYSQL_TCP_PORT=3306 \ #端口
-DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
-DEXTRA_CHARSETS=all \ #安装所有的字符集
-DDEFAULT_CHARSET=utf8 \ #默认字符
-DDEFAULT_COLLATION=utf8_general_ci
注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
2.配置
(1)设置目录权限
[root@ rhel5~]# cd /usr/local/mysql
[root@ rhel5 mysql]# chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql
[root@ rhel5 mysql]# chown -R mysql:mysql data
(2)设置mysql配置文件my.cnf
[root@ rhel5 mysql]# cp support-files/my-medium.cnf /etc/my.cnf //将mysql的启动服务添加到系统服务中
vi /etc/my.cnf
//加上以下内容
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
user = mysql
tmpdir = /tmp
(3)创建系统数据库的表
[root@ rhel5 mysql]# cd /usr/local/mysql
[root@ rhel5 mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
(4)设置环境变量
[root@ rhel5~]# vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加参数为:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
[root@ rhel5~]#source /root/.bash_profile
(5)手动启动mysql
[root@ rhel5~]# cd /usr/local/mysql
[root@ rhel5 mysql]# ./bin/mysqld_safe --user=mysql & //启动MySQL,但不能停止
启动日志写在此文件下:/usr/local/mysql/data/localhost.err
关闭MySQL服务
[root@ rhel5 mysql]# mysqladmin -u root -p shutdown //这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。
(6)另一种简单的启动mysql的方法(mysql已经被添加到系统服务中)
[root@ rhel5~]# service mysql.server start
[root@ rhel5~]# service mysql.server stop
[root@ rhel5~]# service mysql.server restart
如果上述命令出现:mysql.server 未识别的服务
则可能mysql还没添加到系统服务中,下面用另一种方法添加:
[root@ rhel5 mysql]# cp support-files/mysql.server /etc/init.d/mysql //将mysql的启动服务添加到系统服务中
注意:主要是将mysql.server拷贝到/etc/init.d中,命名为mysql。在有的系统中,mysql.server在/usr/local/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在/usr/local/mysql/support-files/mysql.server中。
然后再用#service mysql start 来启动mysql即可。
(7)--注意这里,因为MySQL默认没有密码,所以这里我们没有输入密码就直接连上了。
--修改密码,这个是安装Server 中提示的:
[root@rac2 ~]# /usr/bin/mysqladmin -u root password root
[root@rac2 ~]# mysql
ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: NO)
--修改密码之后,就提示要使用密码了。
[root@rac2 ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.15 MySQL CommunityServer (GPL)
2.3.3 查看MySQL端口 3306, 这个是默认端口:
[root@rac2 ~]# netstat -nat|grep 3306
tcp 0 0 192.168.3.100:32842 192.168.3.100:3306 TIME_WAIT
tcp 0 0 :::3306 :::* LISTEN
(8)设置开机自启动
--查看MySQL 开机自启动设置:
[root@rac2 ~]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
这里的数字分别代表Linux启动的不同模式,3是命令行,5是窗口。
(9)关闭开机自启动
[root@rac2 ~]# chkconfig mysql off
[root@rac2 ~]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:off 3:off 4:off 5:off 6:off
(10)启用开机自启动:
[root@rac2 ~]# chkconfig mysql on
[root@rac2 ~]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@rac2 ~]#
(11)将Mysql 从chkconfig服务里删除:
[root@rac2 ~]# chkconfig --del mysql
[root@rac2 ~]# chkconfig --list |grep mysql
(12)将Mysql 添加到chkconfig里:
[root@rac2 ~]# chkconfig --add mysql
[root@rac2 ~]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
(13)修改MySQL的root用户的密码以及打开远程连接
[root@ rhel5~]# mysql -u root mysql
mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力。
mysql>update user set Password = password('xxxxxx') where User='root';
mysql>select Host,User,Password from user where User='root';
mysql>flush privileges;
mysql>exit
重新登录:mysql -u root -p
若还不能进行远程连接,则关闭防火墙
[root@ rhel5~]# /etc/rc.d/init.d/iptables stop
注意:如果不能远程连接,出现错误mysql error number 1130,则加入下面语句试试:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
三、MySQL的用户权限设置
首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。
注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
用户:lamp 用户数据库:lampDB
用户所有的权限:
--权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
--当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
--当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
--操作完成每一项之后,想及时生效 执行flush privileges;
1.新建用户。
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> CREATE USER 'lamp'@'192.168.0.219' IDENTIFIED BY '123456';
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:lamp 密码为:123456 的用户。
然后登录一下。
mysql>exit;
@>mysql -u lamp -p
@>输入密码
mysql>登录成功
2.为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(lampDB)
mysql>create database lampDB;
//授权lamp用户拥有lamp数据库的所有权限。
>grant all privileges on lampDB.* to lamp@192.168.0.219 identified by '123456' with grant option;;
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on lampDB.* to lamp@192.168.0.219 identified by '123456' with grant option;;
//刷新系统权限表。
mysql>flush privileges;
*/
3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User='lamp' and Host='192.168.0.219';
mysql>flush privileges;
//删除用户的数据库
mysql>drop database lampDB;
4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User='lamp' and Host='192.168.0.219';
mysql>flush privileges;
5、删除某个用户
drop user 用户名@'%';
drop user 用户名@ localhost;
6、取消某个用户的某些权限;
revoke insert,select,update,delete ON lampDB.* from 'lap'@'192.168.0.219' IDENTIFIED BY '123';
7、取消用户所有权限:
revoke all on *.* from myroot@192.168.0.219;
8、增加某个用户的某些权限;
grant insert,select,update,delete on lampDB.* to lap@192.168.0.219 identified by '123456' with grant option;
9、查询用户具有什么权限:
show grants for lap@192.168.0.219;
10、查询用户密码:
mysql密码是动态md5加密,是不可逆向查询的
修改用户密码:
update mysql.user set password=password('新密码') where User='test' and Host='localhost';
11、运程用客户端连接MYSQL:
格式: mysql -h主机地址 -u用户名 -p用户密码
mysql -h 192.168.0.15 -u lap -p123456
通过dos窗口登陆MySQL,首先找到MySQL安装目录下的bin目录,格式如下:
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -h 192.168.0.15 -u lap -p123456
grant all privileges on auction.* to myroot@192.168.0.211 with grant option;
grant insert,select,update,delete,create on fund.* to myroot@192.168.0.210 with grant option;
update mysql.user set Host='192.168.0.211' where User='myroot';
flush privileges;
一、mysql安装前准备工作
1.安装make编译器
make编译器下载地址:http://www.gnu.org/software/make/
(系统默认自带)查看自己的系统是否安装某个软件,如果已经有了,就不用在安装了,但是也有可能之前被卸载了。
如果你之前是使用rpm -ivh make装的,用
# rpm -qa | grep make肯定是能够找到的。
如果你是用
make && make install装的。那么最好直接去找执行程序,就知道有没装上去
# find / -name matlab
如果装了,它会告诉你执行程序被释放到哪个目录了。
++++++++++++++++++++++++++++++++++++++++++
# rpm -qa 是查看该软件是否被安装,# grep和# find是查看文件位置
++++++++++++++++++++++++++++++++++++++++++
# tar zxvf make-3.82.tar.gz
# cd make-3.82
# ./configure
# make
# make install
2.安装bison
bison下载地址:http://www.gnu.org/software/bison/
# tar zxvf bison-2.5.tar.gz
# cd bison-2.5
# ./configure
# make
# make install
3.安装gcc-c++
gcc-c++下载地址:http://www.gnu.org/software/gcc/
# tar zxvf gcc-c++-4.4.4.tar.gz
# cd gcc-c++-4.4.4
#./configure
# make
# make install
4.安装cmake (mysql5.5以后是通过cmake来编译的)
cmake下载地址:http://www.cmake.org/
# tar zxvf cmake-2.8.4.tar.gz
# cd cmake-2.8.4
#./configure
# make
# make install
5.安装ncurses
ncurses下载地址:http://www.gnu.org/software/ncurses/
# tar zxvf ncurses-5.8.tar.gz
# cd ncurses-5.8
#./configure
# make
# make install
或者:rpm -ivh ncurses-5.7-3.20090208.el6.x86_64.rpm
6.安装 ncurses-devel
rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
7、检查是否有已经安装过MySQL,如果有的话先卸载
查看是否有安装没卸载的版本 rpm -qa|grep -i MySQL
如果有强制卸载:rpm -e --nodeps 版本名称
二、开始安装MySQL
(1)MySQL5.5下载
MySQL5.5下载地址:http://dev.mysql.com/
这里我在这里下载的mysql-5.5.10.tar.gz
ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/
准备工作
(2)创建mysql的安装目录及数据库存放目录
[root@ rhel5~]#mkdir -p /usr/local/mysql //安装mysql
[root@ rhel5~]#mkdir -p /usr/local/mysql/data //存放数据库
(3)创建mysql用户及用户组
[root@ rhel5~]groupadd mysql
[root@ rhel5~]useradd mysql -g mysql -M -s /sbin/nologin
参数说明:
#增加一个名为 mysql的用户。
-g:指定新用户所属的用户组(group)
-M:不建立根目录
-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。
(4)安装mysql
[root@ rhel5 local]#tar zxvf mysql-5.5.10.tar.gz
[root@ rhel5 local]#cd mysql-5.5.10
[root@ rhel5 mysql-5.5.10]#cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
(/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci)
[root@ rhel5 mysql-5.5.10]#make
[root@ rhel5 mysql-5.5.10]#make install
参数说明:
# cmake ./
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
-DSYSCONFDIR=/etc \ #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
-DWITH_READLINE=1 \ #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
-DMYSQL_TCP_PORT=3306 \ #端口
-DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
-DEXTRA_CHARSETS=all \ #安装所有的字符集
-DDEFAULT_CHARSET=utf8 \ #默认字符
-DDEFAULT_COLLATION=utf8_general_ci
注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
2.配置
(1)设置目录权限
[root@ rhel5~]# cd /usr/local/mysql
[root@ rhel5 mysql]# chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql
[root@ rhel5 mysql]# chown -R mysql:mysql data
(2)设置mysql配置文件my.cnf
[root@ rhel5 mysql]# cp support-files/my-medium.cnf /etc/my.cnf //将mysql的启动服务添加到系统服务中
vi /etc/my.cnf
//加上以下内容
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
user = mysql
tmpdir = /tmp
(3)创建系统数据库的表
[root@ rhel5 mysql]# cd /usr/local/mysql
[root@ rhel5 mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
(4)设置环境变量
[root@ rhel5~]# vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加参数为:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
[root@ rhel5~]#source /root/.bash_profile
(5)手动启动mysql
[root@ rhel5~]# cd /usr/local/mysql
[root@ rhel5 mysql]# ./bin/mysqld_safe --user=mysql & //启动MySQL,但不能停止
启动日志写在此文件下:/usr/local/mysql/data/localhost.err
关闭MySQL服务
[root@ rhel5 mysql]# mysqladmin -u root -p shutdown //这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。
(6)另一种简单的启动mysql的方法(mysql已经被添加到系统服务中)
[root@ rhel5~]# service mysql.server start
[root@ rhel5~]# service mysql.server stop
[root@ rhel5~]# service mysql.server restart
如果上述命令出现:mysql.server 未识别的服务
则可能mysql还没添加到系统服务中,下面用另一种方法添加:
[root@ rhel5 mysql]# cp support-files/mysql.server /etc/init.d/mysql //将mysql的启动服务添加到系统服务中
注意:主要是将mysql.server拷贝到/etc/init.d中,命名为mysql。在有的系统中,mysql.server在/usr/local/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在/usr/local/mysql/support-files/mysql.server中。
然后再用#service mysql start 来启动mysql即可。
(7)--注意这里,因为MySQL默认没有密码,所以这里我们没有输入密码就直接连上了。
--修改密码,这个是安装Server 中提示的:
[root@rac2 ~]# /usr/bin/mysqladmin -u root password root
[root@rac2 ~]# mysql
ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: NO)
--修改密码之后,就提示要使用密码了。
[root@rac2 ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.15 MySQL CommunityServer (GPL)
2.3.3 查看MySQL端口 3306, 这个是默认端口:
[root@rac2 ~]# netstat -nat|grep 3306
tcp 0 0 192.168.3.100:32842 192.168.3.100:3306 TIME_WAIT
tcp 0 0 :::3306 :::* LISTEN
(8)设置开机自启动
--查看MySQL 开机自启动设置:
[root@rac2 ~]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
这里的数字分别代表Linux启动的不同模式,3是命令行,5是窗口。
(9)关闭开机自启动
[root@rac2 ~]# chkconfig mysql off
[root@rac2 ~]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:off 3:off 4:off 5:off 6:off
(10)启用开机自启动:
[root@rac2 ~]# chkconfig mysql on
[root@rac2 ~]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@rac2 ~]#
(11)将Mysql 从chkconfig服务里删除:
[root@rac2 ~]# chkconfig --del mysql
[root@rac2 ~]# chkconfig --list |grep mysql
(12)将Mysql 添加到chkconfig里:
[root@rac2 ~]# chkconfig --add mysql
[root@rac2 ~]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
(13)修改MySQL的root用户的密码以及打开远程连接
[root@ rhel5~]# mysql -u root mysql
mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力。
mysql>update user set Password = password('xxxxxx') where User='root';
mysql>select Host,User,Password from user where User='root';
mysql>flush privileges;
mysql>exit
重新登录:mysql -u root -p
若还不能进行远程连接,则关闭防火墙
[root@ rhel5~]# /etc/rc.d/init.d/iptables stop
注意:如果不能远程连接,出现错误mysql error number 1130,则加入下面语句试试:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
三、MySQL的用户权限设置
首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。
注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
用户:lamp 用户数据库:lampDB
用户所有的权限:
--权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
--当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
--当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
--操作完成每一项之后,想及时生效 执行flush privileges;
1.新建用户。
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> CREATE USER 'lamp'@'192.168.0.219' IDENTIFIED BY '123456';
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:lamp 密码为:123456 的用户。
然后登录一下。
mysql>exit;
@>mysql -u lamp -p
@>输入密码
mysql>登录成功
2.为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(lampDB)
mysql>create database lampDB;
//授权lamp用户拥有lamp数据库的所有权限。
>grant all privileges on lampDB.* to lamp@192.168.0.219 identified by '123456' with grant option;;
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on lampDB.* to lamp@192.168.0.219 identified by '123456' with grant option;;
//刷新系统权限表。
mysql>flush privileges;
*/
3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User='lamp' and Host='192.168.0.219';
mysql>flush privileges;
//删除用户的数据库
mysql>drop database lampDB;
4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User='lamp' and Host='192.168.0.219';
mysql>flush privileges;
5、删除某个用户
drop user 用户名@'%';
drop user 用户名@ localhost;
6、取消某个用户的某些权限;
revoke insert,select,update,delete ON lampDB.* from 'lap'@'192.168.0.219' IDENTIFIED BY '123';
7、取消用户所有权限:
revoke all on *.* from myroot@192.168.0.219;
8、增加某个用户的某些权限;
grant insert,select,update,delete on lampDB.* to lap@192.168.0.219 identified by '123456' with grant option;
9、查询用户具有什么权限:
show grants for lap@192.168.0.219;
10、查询用户密码:
mysql密码是动态md5加密,是不可逆向查询的
修改用户密码:
update mysql.user set password=password('新密码') where User='test' and Host='localhost';
11、运程用客户端连接MYSQL:
格式: mysql -h主机地址 -u用户名 -p用户密码
mysql -h 192.168.0.15 -u lap -p123456
通过dos窗口登陆MySQL,首先找到MySQL安装目录下的bin目录,格式如下:
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -h 192.168.0.15 -u lap -p123456
grant all privileges on auction.* to myroot@192.168.0.211 with grant option;
grant insert,select,update,delete,create on fund.* to myroot@192.168.0.210 with grant option;
update mysql.user set Host='192.168.0.211' where User='myroot';
flush privileges;