mysql linux 安装


1.前置准备

1.1 卸载旧版MySQL

1.2 查看rpm包

rpm -qa|grep mysql

若有可用 rpm -e 安装包 --nodeps

1.3 查找mysql残留包,有则删除,没有则忽略

find / -name mysql

1.4 安装相关依赖

yum -y install make gcc-c++ cmake bison-devel ncurses-devel numactl libaio autoconf

1.5 创建用户和用户组

groupadd mysql

useradd -g mysql mysql

1.6 创建mysql相关目录

mkdir -p /data/mysql/{data,logs,tmp}

更改文件夹所属

chown -R mysql.mysql /data/mysql/


2.下载二进制安装包并解压

cd /usr/local/

wget下载或者本地下载后上传(32/64)

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.35-linux-glibc2.12-i686.tar.gz

解压安装包

tar -zxvf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

#重命名为mysql

mv mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz mysql

更改文件夹所属

chown -R mysql.mysql /usr/local/mysql/


3.创建mysql配置文件my.cnf

vi /etc/my.cnf

添加如下内容:

[client]

port = 3306

socket = /data/mysql/tmp/mysql.sock

[mysqld]

skip-grant-tables

user = mysql

basedir = /usr/local/mysql

datadir = /data/mysql/data

port = 3306

socket = /data/mysql/tmp/mysql.sock

pid-file = /data/mysql/tmp/mysqld.pid

tmpdir = /data/mysql/tmp

skip_name_resolve = 1

symbolic-links=0

max_connections = 2000

group_concat_max_len = 1024000

sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

lower_case_table_names = 1

#character-set-server = utf8

#default-character-set=utf8

interactive_timeout = 1800

wait_timeout = 1800

max_allowed_packet = 32M

binlog_cache_size = 4M

sort_buffer_size = 2M

read_buffer_size = 4M

join_buffer_size = 4M

tmp_table_size = 96M

max_heap_table_size = 96M

max_length_for_sort_data = 8096

#logs

server-id = 1003306

log-error = /data/mysql/logs/mysqld.log

slow_query_log = 1

slow_query_log_file = /data/mysql/logs/slow.log

long_query_time = 3

log-bin = /data/mysql/logs/binlog

binlog_format = row

expire_logs_days = 15

log_bin_trust_function_creators = 1

relay-log = /data/mysql/logs/relay-bin

relay-log-recovery = 1

relay_log_purge = 1

#innodb

innodb_file_per_table = 1

innodb_log_buffer_size = 16M

innodb_log_file_size = 256M

innodb_log_files_in_group = 2

innodb_io_capacity = 2000

innodb_io_capacity_max = 4000

innodb_flush_neighbors = 0

innodb_flush_method = O_DIRECT

innodb_autoinc_lock_mode = 2

innodb_read_io_threads = 8

innodb_write_io_threads = 8

innodb_buffer_pool_size = 2G


4.配置mysql.server

cd /usr/local/mysql/support-files

cp mysql.server /etc/init.d/mysql

vi /etc/init.d/mysql

修改目录位置

basedir=/usr/local/mysql

datadir=/data/mysql/data

注册开机启动服务(可选)

chkconfig --add mysql

chkconfig --list


5.添加环境变量

(root用户)

echo "PATH=$PATH:/usr/local/mysql/bin " >> /etc/profile

source /etc/profile

(普通用户)

echo "PATH=$PATH:/usr/local/mysql/bin " >> /home/hadoop/.bash_profile

source /home/hadoop/.bash_profile


6.初始化mysql

cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

临时密码保存在errlog中,获取临时密码

more /data/mysql/logs/mysqld.log |grep password


7.启动mysql服务 并修改密码

启动mysql服务

service mysql start

使用初始密码登录mysql服务(初始为空,回车登录)并修改密码

mysql -u root -p

mysql> use mysql;

mysql> update user set password=password('root') where user='root';

mysql> grant all privileges on *.* to 'root'@'localhost' with grant option;

mysql> update user set host = '%' where user = 'root' and host= 'localhost';

mysql> flush privileges;

mysql> \q

5.7版本后使用以下命令:

mysql -u root -p

mysql>use mysql;

mysql>update mysql.user set authentication_string=password('root') where user='root';

mysql> flush privileges;

mysql> grant all privileges on *.* to 'root'@'localhost' with grant option;

mysql> flush privileges;

mysql>alter user 'root'@'localhost' identified by 'root';

mysql> flush privileges;


8.mysql服务启动关闭

service mysql stop

service mysql start


相关推荐
Asin²+cos²=16 小时前
关于Android Studio Koala Feature Drop | 2024.1.2下载不了插件的解决办法
android·ide·android studio
大耳猫7 小时前
Android gradle和maven国内镜像地址
android·gradle·maven
-seventy-9 小时前
Android 玩机知识储备
android
CYRUS STUDIO9 小时前
frida脚本,自动化寻址JNI方法
android·运维·自动化·逆向·移动安全·jni·frida
暮志未晚Webgl10 小时前
102. UE5 GAS RPG 实现范围技能奥术伤害
android·java·ue5
Patience to do10 小时前
Android Studio项目(算法计算器)
android·算法·android studio
昨天今天明天好多天12 小时前
【Linux】MySQL部署
linux·mysql·adb
我还能再卷一点12 小时前
Linux安装mysql【超详细】
linux·mysql·adb
我又来搬代码了13 小时前
【Android】使用TextView实现按钮开关代替Switch开关
android
江-月*夜16 小时前
uniapp vuex 搭建
android·javascript·uni-app