cenos 在线安装mysql_Centos安装mysql

在线安装

1. 检查系统本身是否有预装的mysql

1.rpm -qa | grep mysql #检查是否安装了mysql

2.rpm -qa | grep mariadb #检查是否安装了mariadb

3.rpm -e xxx #一般使用此命令即可卸载成功

4.rpm -e --nodeps xxx #卸载不成功时使用此命令强制卸载)

2.安装MySql

1.wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

//下载mysql的rpm的包

2.yum -y install mysql57-community-release-el7-10.noarch.rpm

3.yum -y install mysql-community-server

3.进入Mysql

1.生成初始密码,我在这里并没有生成初始密码,所以我直接把vim /etc/my.cnf文件最后面加入skip-grant-tables 保存文件退出, 使用systemctl restart mysqld 重启服务器, 使用下面的命令查看生成的密码;

grep "password" /var/log/mysqld.log

再次修改vim /etc/my.cnf, 注释掉skip-grant-tables, 退出免密登录. 不然后面无法修改密码.

2.登录mysqlmysql -uroot -p

mysql -uroot -p

enter your password: 上面获取的初始密码

提示 如果你设置不验证登录只需要mysql回车就好了

3.修改Mysql的root用户密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

提示这里密码遵守mysql的安全策略(大写英文,小写英文,数字,特殊字符),不然会报错的,虽然可以进行更改,但是不建议更改,这样安些 如果要更改的话

set global validate_password_policy=0;

set global validate_password_length=6;

4.测试登录

看密码是否生效(如果你更改了配置文件下的数据,先把skip-grant-tables)用#号注释掉,然后service mysqld restart 对服务进行重启

mysql -uroot -p

>>输入你设置的密码

4.设置Mysql远程登陆 (前提:进入到数据库里面)

use mysql;

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

//这里的%是允许所有的ip地址登录这个服务器的mysql服务器

flush privileges;

//刷新权限

然后退出mysql

firewall-cmd --permanent --add-port=3306/tcp //防火墙开发3306端口

>>success//显示成功

firewall-cmd --reload

>>success//显示成功

查看防火墙的状态

systemctl status firewalld

如果是running就是启动的,如果是dead就是关闭,systemctl start firewalld

进行启动

这里有的不支持这个命令需要service iptables status进行查看防火墙的状态.

5.使用远程连接

使用软件对mysql进行连接(推荐使用Navicat)这个软件是真的好进行连接

离线安装

安装依赖

yum -y install libaio

创建用户和组

新建mysql用户和组, 用于设置mysql安装目录文件所有者和所属组

groupadd mysql

useradd -r -g mysql mysql

注:

1.useradd -r 表示mysql用户是系统用户, 不可用于登录系统

2.useradd -g 表示把mysql用户添加到mysql用户组中

下载mysql安装包

24035dc4a06e

mysql-download

当然也可以使用迅雷或者其他方式下载后再上传到服务器

解压并创建data目录

1.解压到指定目录, 并重命名文件夹

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

mv mysql-5.7.32-linux-glibc2.12-x86_64 /usr/local/mysql

2.进入mysql目录,并创建tmp, log, data文件夹

cd /usr/local/mysql

mkdir tmp log data

3.确保mysql下的文件属主都为mysql(下面的命令是在mysql目录下执行的)

chown -R mysql:mysql /usr/local/mysql/

初始化mysql配置表

cd /usr/local/mysql/ # 进入到mysql目录

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # 初始化

--user 启动mysql的用户

--basedir mysql 的安装目录

--datadir mysql数据仓库目录

注意

初始化完成后, 注意最后一行, 可能不同的版本出现的位置不一样, 它给出了root的初始密码, 后面登录的时候要这个密码

[Note] A temporary password is generated for root@localhost: Oow7Fi=lb#dO

例如我的初始密码就是Glly__T!=1z4

我们也可以吧初始化的密码保存到一个临时文件中

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data > /tmp/mysql.pwd

开启加密连接

bin/mysql_ssl_rsa_setup

权限归还

将mysql/目录下除了data、tmp、log目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者

cd /usr/local/mysql/

chown -R root:root ./

# 将 data tmp 和 log还是给mysql用户

chown -R mysql:mysql data

chown -R mysql:mysql tmp

chown -R mysql:mysql log

开机自启

1.复制mysql.server文件到/etc/init.d/mysqld

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

2.添加环境变量

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile.d/mysql.sh

3.刷新配置

source /etc/profile

4.设置开机自启

chkconfig mysql on

service mysql start

更改密码

使用如下命令更改密码

mysql --connect-expired-password -uroot -pGlly__T!=1z4 -e "set password for root@localhost = password('123456')"

由于我的系统是centos8.0在更改密码的时候, 会报如下的错误

mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

需要我们安装依赖

yum install libncurses*

等待安装完毕, 再次运行

[root@localhost ~]# mysql --connect-expired-password -uroot -pGlly__T!=1z4 -e "set password for root@localhost = password('123456')"

mysql: [Warning] Using a password on the command line interface can be insecure.

至此密码修改完成.

自定义mysql启动参数

1.vim /etc/my.cnf

[client]

#password = your_password

port = 3306

socket = /tmp/mysql.sock

[mysqld]

port = 3306

basedir = /usr/local/mysql

socket = /tmp/mysql.sock

datadir = /usr/local/mysql/data

character_set_server = utf8

collation_server = utf8_general_ci

default_storage_engine = MyISAM

skip-external-locking

key_buffer_size = 64M

max_allowed_packet = 100G

table_open_cache = 256

sort_buffer_size = 1M

net_buffer_length = 4K

read_buffer_size = 1M

read_rnd_buffer_size = 256K

myisam_sort_buffer_size = 16M

thread_cache_size = 32

query_cache_size = 32M

tmp_table_size = 64M

#skip-name-resolve

max_connections = 500

max_connect_errors = 100

open_files_limit = 65535

log-bin=mysql-bin

binlog_format=mixed

server-id = 1

expire_logs_days = 10

slow_query_log=1

slow-query-log-file=/usr/local/mysql/log/mysql-slow.log

long_query_time=3

#log_queries_not_using_indexes=on

innodb_data_home_dir = /usr/local/mysql/data

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = /usr/local/mysql/data

innodb_buffer_pool_size = 256M

innodb_log_file_size = 128M

innodb_log_buffer_size = 32M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

[mysqldump]

quick

max_allowed_packet = 500M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 64M

sort_buffer_size = 1M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

注意

如果你安装的mysql 不是在/usr/local/mysql下 , 还需要修改/etc/init.d/mysqld文件

mysqld_pid_file_path=

if test -z "$basedir"

then

basedir=/usr/local/mysql

bindir=/usr/local/mysql/bin

if test -z "$datadir"

then

datadir=/usr/local/mysql/data

fi

sbindir=/usr/local/mysql/bin

libexecdir=/usr/local/mysql/bin

else

大约在62行, 把basedir, datadir, bindir, sbindir,libexecdir , 修改成自己对应的路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值