MySQL安装配置
注:操作系统目录(文件),需要管理员权限
执行:su回车——〉输入密码(不可见)——〉回车
操作的文件路径自己决定(我只给出给出模版)
1.下载mysql软件tar包
2.检查mysql的用户组是否存在
cat /etc/group |grep mysql
如果有输出,mysql:x:27:,表明存在,无需添加,否则添加
用户组:groupadd mysql
用户:useradd -g mysql mysql
3.复制tar包到 /usr/local目录:cp xx.tar.gz /usr/local,
解压缩:tar -zxvf xx.tar.gz
改名:mv yyy mysql(yyy为解压缩后文件夹名称)
4. 转到support-files目录
执行:cp ./my-default.cnf /etc/my.cnf
在my.cnf中添加如下内容:
[mysql]
default-character-set=utf8
[client]
socket=/usr/local/mysql/mysql.sock //如果改路径,需要添加客户端文件,语句的位置不能乱放
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
socket=/usr/local/mysql/mysql.sock //默认在/tmp目录下,为临时文件,每次停止服务自动删除,建议改到其他路径。
5.执行:cp ./mysql.server /etc/init.d/mysqld(复制的时候改名)
在mysqld中添加:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
根据mysqld里面的描述:
# Usually this is put in /etc/init.d (at least on machines SYSV R4 based
# systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
# When this is done the mysql server will be started when the machine is
# started and shut down when the systems goes down.
为了让开机启动关机暂停
执行:ln -s /etc/init.d/mysqld /etc/rc.d/rc3.d/S99mysql
ln -s /etc/init.d/mysqld /etc/rc.d/rc0.d/K01mysql
6.修改权限
chown -R mysql:mysql /usr/local/mysql/
如果没有权限设置,mysql没法启动
7.生成mysql数据
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
新版本输出的信息最后有临时数据库密码(记得保存,后续要用)
8.加密数据库数据
./bin/mysql_ssl_rsa_setup –datadir=/usr/local/mysql/data
9.(1)启动数据库服务
service mysqld start
(2)登入数据库
./bin/mysql -uroot -p回车
输入密码(不显示),回车进入数据库
10.修改密码:
set password=password('shyx');
11.退出数据库
exit(quit)
12.修改环境变量
gedit /etc/profile回车进入文件编辑(或者使用vi)
在“PATH=”的末尾添加“:usr/local/mysql/bin”对于linux的环境变量,以“:”分隔开,不同于windows以英文的”;”分隔。
扩展
Linux设置服务自启动(提供两种方法)
方法一:chkconfig命令
(1)使用chkconfig查询服务的重启情况,执行命令
chkconfig --list 服务名称(mysqld)
(2)修改服务的自启动
chkconfig --level 2345 服务名称(mysqld)on
方法二:ln -s 建立软链接
linux里有7种运行级别(可在/etc/inittab文件里设置),每种运行级别对应着/etc/rc.d/rc[0~6].d共7个目录,
如果想实现服务的自启动,需要操作:
(1)将要启动的脚本、Linux软件放到/etc/init.d目录下
(2)执行:ln -s /etc/init.d/服务名 /etc/rc.d/rc[0~6].d/{[S|K]数字[服务名](K为kill、S为start,数字越小,优先级越高)
手动启动服务的方法
(1) /etc/init.d/服务名 start
(2) service 服务名 start