Linux环境下的mysql实例安装,执行bin/mysqld_safe --user=mysql &,报错问题解决

单实例安装

1.下载mysql对应版本的二进制压缩包

mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz

2.解压 mysql /usr/local 目录

解压:
tar -zxvf mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz

/usr/local 目录的好处

2.1.可以保证安装的软件都是系统级别,能够对所有用户可见。
2.2. /usr/local 目录的权限通常只有超级用户才能操作,因此可以避免一些意外的权限问题。

3.安装需要的依赖

yum install -y libaio

libaio 异步IO库,提高mysql性能。

mysql文档中的具体安装
shell> groupadd mysql 
shell> useradd -r -g mysql mysq
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz 
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chmod 770 mysql-files
shell> chown -R mysql . 
shell> chgrp -R mysql . 
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
shell> chown -R root . shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server 

4.实际安装步骤:

#创建用户组

shell> groupadd mysql

  #创建用户
shell> useradd -r -g mysql mysql 

#安装软连接/创建快捷方式
shell> cd /usr/local
shell> ln -s 安装路径 mysql
shell> cd mysql

#创建mysql文件目录 并赋权
shell> mkdir mysql-files
shell> chmod 770 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .

#初始化配置
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up

root@localhost:默认密码,需要记住。
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up

shell> chown -R root .

执行此处有可能报找不到data目录,手动创建一个即可

shell> chown -R mysql data mysql-files

执行配置,此处有可能报错。
shell> bin/mysqld_safe --user=mysql &

 

查询mysql加载配置顺序

/usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options'

修改配置文件,将默认路径下的删掉

cd /etc

删除默认配置文件,并备份。

mv my.cnf my.cnfbak

windows下mysql配置文件为my.ini

linux下为my.cnf

删除后重新执行上面的步骤。

shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up

data目录下生成初始化文件,即初始化成功。

shell> chown -R root .

shell> chown -R mysql data mysql-files

shell> bin/mysqld_safe --user=mysql &

通过init.d方式配置自启动

shell> cp support-files/mysql.server /etc/init.d/mysql.server

chkconfig mysql.server on

chkconfig --list

配置环境变量

vim /etc/profile

export PATH=/usr/local/mysql/bin:$PATH

立即执行修改

source /etc/profile

登录mysql

mysql -uroot -p'*l!px8:kK!pA'

修改默认密码

set password = 'password1234@';

允许远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password1234@' WITH GRANT OPTION;
刷新权限
flush privileges;

多实例安装

有两种方法:

一种是解压两个mysql,分别放到不同文件夹。

还有一种是通过mysql对应的脚本命令进行安装。

新建 /etc/my.cnf 配置如下
[mysqld]
sql_mode
=
"STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR
_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /var/log/mysqld_multi.log
[mysqld1]
server-id = 11
socket = /tmp/mysql.sock1
port = 3307
datadir = /data1
user = mysql
performance_schema = off
innodb_buffer_pool_size = 32M
skip_name_resolve = 1
log_error = error.log
pid-file = /data1/mysql.pid1
[mysqld2]
server-id = 12
socket = /tmp/mysql.sock2
port = 3308
datadir = /data2
user = mysql
performance_schema = off
innodb_buffer_pool_size = 32M
skip_name_resolve = 1
log_error = error.log
pid-file = /data2/mysql.pid2
分别创建data目录
mkdir /data1
mkdir /data2
chown mysql.mysql /data{1..2}
mysqld --initialize --user=mysql --datadir=/data1
mysqld --initialize --user=mysql --datadir=/data2
cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multid
配置开机启动
chkconfig mysqld_multid on
查看状态
mysqld_multi report
报错:No such file or directory
安装perl 的环境
yum -y install perl perl-devel
实例存在后,进行启动
mysqld_multi start
分别修改密码,允许远程连接
mysql -u root -S /tmp/mysql.sock1 -p -P3307
mysql -u root -S /tmp/mysql.sock2 -p -P3308
set password = 'root1234@';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root1234@';
flush privileges;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值