linux下安装mysql数据库5.6源码安装,修改登录用户密码

  • Post category:Linux
  1. 下载并安装MySQL 5.6源码

首先,我们需要到MySQL官网上下载MySQL 5.6的源码包。下载完成后,解压源码包,并进入解压后的目录。

# 下载MySQL 5.6源码
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.50.tar.gz

# 解压源码包
tar -zxvf mysql-5.6.50.tar.gz

# 进入解压后的目录
cd mysql-5.6.50

在进入解压后的目录后,先用cmake进行一次预编译,以生成MySQL的makefile:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system

然后进行编译并安装:

# 编译
make

# 安装
make install

安装完成后,我们可以检查一下MySQL的安装路径是否正确:

ls /usr/local/mysql

如果显示类似以下输出,说明安装成功:

COPYING                    client                     include                 myisam                     plugin                      regex
README                    cmake                      lib                     mysql-test                 scripts                     sql
  1. 创建MySQL账号并修改密码

在MySQL中,默认有一个root账号,且默认不需要密码即可登录。为了安全起见,我们需要为root账号设置密码,或者创建一个新的MySQL账号。

首先,我们需要进入MySQL的安装路径,并启动MySQL服务:

cd /usr/local/mysql
./bin/mysqld_safe --user=mysql &

然后,我们可以通过mysqladmin命令来为root账号设置密码:

./bin/mysqladmin -u root password 'newpassword'

其中,newpassword是我们设置的新密码。如果我们想修改其他账号的密码,可以使用以下命令:

./bin/mysqladmin -u username -p oldpassword password newpassword

其中,username是我们要修改密码的账号,oldpassword是该账号的旧密码,newpassword是设置的新密码。

  1. 示例说明

以下是设置root账号密码和创建新账号并设置密码的详细示例:

(1)设置root账号密码

# 进入MySQL的安装路径
cd /usr/local/mysql

# 启动MySQL服务
./bin/mysqld_safe --user=mysql &

# 为root账号设置密码
./bin/mysqladmin -u root password 'newpassword'

(2)创建新账号并设置密码

# 进入MySQL的安装路径
cd /usr/local/mysql

# 启动MySQL服务
./bin/mysqld_safe --user=mysql &

# 登录MySQL
./bin/mysql -u root -p

# 创建新账号
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

# 设置新账号密码
SET PASSWORD FOR 'newuser'@'localhost' = PASSWORD('newpassword');