CentOS安装MySQL

Linux下显示IP地理位置信息的小工具-nali

一、简介 nali,名字取自中文“哪里”的拼音。nali包含一组命令行程序,其主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库QQWry.Dat)。例如74.125.128.104会变成74.125.128.104[美国 加利福尼亚州山景市谷歌公司]。查询是在本地进行,并不会进行联网查询,所以效率方面不会对原始命令产生什么影

CentOS安装MySQL

  • 查看是否安装过mysql

rpm -qa | grep -i mysql

  • 如果有信息出现,则进行删除,删除老版本mysql的开发头文件和库,命令如下:

rpm -e –nodeps 包名

  • 注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除,删除完成后,才能进行安装,否则安装会出错。

rm -f /etc/my.cnf
rm -fr /var/lib/mysql

  • 查看旧的mysql安装目录

whereis mysql

  • 删除旧的安装目录

rm -rf 目录

  • 新建目录

mkdir /data

安装MySQL

  • 把MySQL的压缩安装包上传到/usr/local/software目录下
  • 解压

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

  • 重命名

mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql

  • 在mysql下面新建目录data

mkdir data

  • 查看mysql用户或组是否存在

id mysql

  • 如果需要删除用户和组,执行下列操作

groupdel mysql
userdel -f mysql

  • 如果删除不成功,则vim /etc/group,找到mysql,并注释掉(#),再次查看是否删除成功
  • 添加mysql用户组和用户,并且将mysql用户和mysql组相关联
  • 创建mysql组

groupadd mysql
# 查看是否创建成功
cat /etc/group | grep mysql

  • 创建mysql用户

useradd -r -g mysql mysql
# 查看是否创建成功
cat /etc/passwd | grep mysql

  • 给mysql用户设置密码为:mysql

passwd mysql

  • 给mysql授权,以便能够读写以及执行必要的文件

chown -R mysql:mysql /usr/local/software/mysql
chmod -R 775 /usr/local/software/mysql

  • 进入mysql/support-files文件夹的内容,查看是否有my-default.cnf配置文件,如果没有默认的配置文件,需要手动创建一个my-default.cnf配置文件

  • 上面的填这么多干嘛?搞不明白,而且还有些隐性的错误!!!千万不要用!!!(2020年11月28日19:13:13)

[mysqld]
datadir=/usr/local/software/mysql/data
basedir=/usr/local/software/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-setserver=utf8
# 取消密码验证
skipgranttables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
logerror=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

  • 重新授权

chown -R mysql:mysql /usr/local/software/mysql
chmod -R 775 /usr/local/software/mysql

  • 复制support-files文件下的my-default.cnf和mysql.server,如下:

cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysqld
cd /etc/init.d
vim mysqld

  • 配置环境变量

vim /etc/profile

  • 在末尾添加

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

  • 使修改后的profile文件生效

source /etc/profile

  • 执行数据库初始化操作

cd /usr/local/software/mysql/bin/
./mysqld –basedir=/usr/local/software/mysql –user=mysql –datadir=/usr/local/software/mysql/data –initialize

  • 如果报error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

# 安装libaio
yum install libaio

  • 如果报:[ERROR] –initialize specified but the data directory has files in it. Aborting,说明已经执行过一次,需要把’/usr/local/software/mysql/data目录删除,重新创建,再授权

cd /usr/local/software/mysql
rm -rf data
mkdir data
chown -R mysql:mysql /usr/local/software/mysql
chmod -R 755 /usr/local/software/mysql

  • 然后再执行

cd /usr/local/software/mysql/bin
./mysqld –basedir=/usr/local/software/mysql –user=mysql –datadir=/usr/local/software/mysql/data –initialize

  • 启动mysql,试试能否启动

service mysqld start

  • 修改密码

service mysqld stop
mysqld_safe –user=mysql –skip-grant-tables –skip-networking &
# 这里不用输密码,直接进入到mysql中
mysql

  • 在mysql中修改密码

mysql> use mysql;
mysql> update user set authenticatiON_string=PASSWORD(‘root’) where user=’root’;
mysql> flush privileges;
mysql> exit;

  • 此时,密码已经修改完成。退出重新登录,本以为搞定了,但是创建数据库,却报错了,错误是:ERROR 1820 (HY000): You must reset your password using ALTER USER statement。原来第一登录,还要再次设置密码,修改之后,创建成功。

# mysql -u root -p
mysql> alter user ‘root’@’localhost’ identified by ‘root’;
mysql> flush privileges;
mysql> exit;

  • 设置远程登录权限

$ vim /etc/my.cnf
# 修改端口为
port=3306
# 重启
$ service mysqld restart

  • 修改远程连接权限

$ mysql -uroot -p
mysql> use mysql;
mysql> update user set host=’%’ where user=’root’;
mysql> exit;
$ service mysqld restart

Centos查看端口占用情况和开启端口命令

Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令: lsof -i tcp:80 列出所有端口 netstat -ntlp 1、开启端口(以80端口为例) 方法一: /sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT #写入修改 /etc/init.d/iptables

本文来自网络,不代表主机宝贝立场,转载请注明出处:http://www.idcbaby.com/43045/