linux下安装mysql(实践版)_MySQL
【环境及文件版本】
red hat linux v6.2
mysql linux 版 x86-x64 v5.6
【准备需要的文件】
首先去官网下载mysql的linux版本,可以针对安装的操作系统选择合适的版本。
然后将文件解压到一个目录,例如 /usr/local/中,并重命名为mysql。确保最终所有的文件在/usr/local/mysql/这个目录中,使用命令行时,也需要定位到此目录,后续的操作都是在这个目录中完成的。
【初始化数据库文件】
然后拷贝support-files/my-default.cnf 到 当前目录,并命名为my.cnf,并修改其中内容如下:
[mysqld]
skip-name-resolve #跳过表扫描,可以加快mysql的执行树的
lower_case_table_names=1 #表名全部使用小写
datadir=/usr/local/mysql/data/ #设定数据文件存放位置
socket=/usr/local/mysql/mysql.sock
user=mysql
character-set-server=utf8 #设定server的字符集,防止中文乱码
# Disabling symbolic-links isrecommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log #注意,这里要手动创建一下log目录
pid-file=/usr/local/mysql/mysqld.pid
然后执行数据库初始化脚本文件:
./scripts/mysql_install_db --defaults-file=my.cnf #后面的参数表示使用上一步定义的my.cnf来初始化数据库。
等待若干秒后,可以查看 data 目录查增加了 mysql 目录以及其他文件。此时mysql自身已经初始化完成了,不过现在mysql还不是服务的形式,不能使用service xxx start 的方式启动。但可以使用./bin/mysqld_safe & 的方式启动
注:手动启动mysql 的命令:./bin/mysqld_safe & #至于为什么使用mysqld_safe,自己可以查下原因。
手动停止mysql的命令:./bin/mysqladmin –h127.0.0.1 shutdown #注意,尽量不要使用localhost,因为有时由于系统的原因,使用localhost会提示无法连接mysql。
手动停止mysql的第二种命令:pkill mysql #杀死所有名称中包含mysql的进程,干净利落 :-D
其他linux下mysql实用命令我后边会附带些。
【注册mysql为系统服务】
如果希望mysql以服务的方式启动,或者设置mysql开机启动,还需要如下步骤。
将support-files 中的mysql.server 拷贝到 /etc/rc.d/init.d/ 下,并重名为mysql (如果你不嫌mysql.server这个名字比较长的话,可以不重命名:-D ,文件名就是服务的名字)。
这是就可以使用service mysql start 来启动mysql了(如果在上一步中你不小心手动启动了mysql,这一步会提示mysql已经启动)。
当然,相应的其他命令还有 service mysql stop/restart/status 等
【设置mysql 开机启动】
此时mysql已经注册为服务了,如需开机启动,再需要两步操作。
首先将mysql加入开机启动列表:
chkconfig --add mysql
然后设置它开机启动:
chkconfig mysql on
这样mysql就会开机启动了。
如果需要关闭开机启动,可以:
chkconfig mysql off
查看mysql是否开机启动:
chkconfig --list mysql
查看mysql侦听是否在侦听端口(默认为3306):
netstat -lt | grep mysql
【mysql用户名、远程登录设置】
上面时如何安装及启动mysql,mysql在初次安装后,还需要设置用户名、密码、及远程登录等。
mysql默认情况下,只有root用户,且密码为空,不允许本机以为其他机器登录。如需设置给root设置一个密码,且允许其远程登录,需要这样操作。
首先在mysql安装的机器登录mysql:
mysql -uroot -h127.0.0.1
然后执行如下命令:
grant all privilegeson *.* to root@’%’ identified by ‘12345678’;
如果不需要设置密码,后面的identified by ‘12345678’ 可以省略。
这样,就可以在使用navicat等工具远程连接mysql,进一步执行其他操作了。