Linux下安装二进制mysql

5 篇文章 0 订阅

重新装了一下mysql,好多过程忘了,参照各种资源,记录一下操作过程,我这里使用的是二进制包,但实际上源码包进行自己编译才是性能最靠谱的……我这里使用的是5.7.21

1.下载二进制包
下载的时候注意根据自己系统版本进行选择,我这里选择的是
这里写图片描述
然后选择最后的tar打包文件下载然后搞到虚拟机进行解打包、解压缩命令(解压缩只针对mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz文件)
有的虚拟机自带了Mariadb数据库就把他卸载了吧

# 查看是否有该数据库
rpm -qa|grep mariadb
# 有的话就卸载,就是上面查找到的结果
rpm -e --nodeps mariadb-libs...
# 删除my.cnf文件
rm /etc/my.cnf

2.配置mysql

# 创建mysql的用户组
groupadd mysql

# 在mysql用户组内添加一个用户名为mysql的用户(第一个mysql是组名,后者是用户名)
useradd -g mysql mysql

# 设置密码,可以直接设置为111111
passwd mysql

# 指定mysql用户组对mysql的权限(我解压后将文件夹重命名为mysql了)
chown -R mysql /usr/mysql/
chgrp -R mysql /usr/mysql/

# 创建data文件夹并赋予mysql用户组下的mysql用户权限
mkdir data
chown -R mysql:mysql data

# 创建配置文件
vim /etc/my.cnf
# 追加如下内容:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M

# 安装
bin/mysql_install_db --user=mysql --basedir=/usr/mysql/ --datadir=/usr/mysql/data/

# 添加服务并授权
cp ./support-files/mysql.server /etc/init.d/mysql
chown 777 /etc/my.cnf 
chmod +x /etc/init.d/mysql

# 设置环境变量
vim /etc/profile
# 追加mysql的环境变量
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:/usr/mysql/bin
export PATH
# 刷新
source /etc/profile


# 启动mysql服务
/etc/init.d/mysql start

# 获取初始密码
cat /root/.mysql_secret 

# 设置当前登录mysql的用户密码
mysql -uroot -p

mysql> set PASSWORD = PASSWORD('111111');
mysql> flush privileges;

3. 设置开机自启(可选)

chkconfig --level 35 mysqld on
chkconfig --list mysql
chmod +x /etc/rc.d/init.d/mysql
chkconfig --add mysql
chkconfig --list mysql
service mysql status

4.开启远程连接(可选)

# 允许root用户名(指定root用户名)使用任意ip登录(%代表任意IP可以修改为指定IP),
# 远程登录密码为“password”(可以自行修改),这里实际上是创建了一个远程登录用户
grant all privileges on *.* to 'root'@'%' identified by 'password';

# 使上述权限生效
flush privileges;

# 查看配置是否生效,
use mysql;
select user,host from user;

会有添加的root用户和允许登录的IP为%
这里写图片描述
然后

# 重启服务
/etc/init.d/mysql restart

即可,注意防火墙一定要事前关闭,或者不关闭但要开放mysql的3306端口才可以!然后直接在DOS窗口下来进行远程登录测试:

# 远程登录
mysql -u hadoop -h 192.168.89.131 -p

其实所有关于用户的操作都是基于mysql数据库中的user表,可以直接修改这张表进行用户的增、删、改、查

【注】

在后来安装8.0+版本时,出现2个问题:更改root用户密码、无法配置远程连接GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION,解决方案如下:

8.0+版本需要这么改

```mysql
ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';
```

配置root用户可远程连接

```msql
# 进入相应的库更改host
use mysql
update user set host = "%" where user = "root";

# 重载授权表
FLUSH PRIVILEGES;
```

后续的过程在自己本上安装了一下MySQL 8.0.21尝了个鲜,配置了慢查询和binlog,也挺折腾的,放一下配置:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
#skip-name-resolve

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
server_id = 1
# log_bin
# binlog日志名称,如果指定绝对路径,则可以直接binlog的目录
# 默认的目录就是data目录,在指定目录时,一定要注意转义的问题,建议使用\\而不是\,如\bin_logs不作特殊说明就意义不一样了,\b是退格键
log-bin = D:\Program Files\MySQL\mysql-8.0.21\logs\\bin_logs\mysql-bin
# 配置binlog的日志格式,默认为mixed
binlog-format=ROW
# 配置binlog的日志最大值,最大和默认值是1GB
# max_binlog_size=1GB
# 配置binlog自动清理,5天,该参数已经废弃,应该使用 binlog_expire_logs_seconds
#expire_logs_days=5
binlog_expire_logs_seconds = 432000

# These are commonly set, remove the # and set as required.
basedir = D:\Program Files\MySQL\mysql-8.0.21
datadir = D:\Program Files\MySQL\mysql-8.0.21\data
port = 3306

log-error = D:\Program Files\MySQL\mysql-8.0.21\logs\error_logs\error.log

# 开启慢查询日志
slow_query_log = on
# 慢于2秒的查询会被记录
long_query_time =2
# 慢查询日志文件存放路径,注意字符转义的问题!你特么再错弄死你!
slow_query_log_file=D:\Program Files\MySQL\mysql-8.0.21\logs\\slow_query_logs\\slow.log
# 设置日志的时间和系统保持一致,不然日志时间默认是UTC的,可以使用 SELECT @@log_timestamps 来验证
log_timestamps = SYSTEM
default-time-zone=+8:00


# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值