PATH=$PATH:/usr/local/mysql/bin export PATH 修改root密码(默认为空):mysql -h127.0.0.1 -uroot -p update mysql.user set password=password("mysqldba") where user='root';flush privileges;最后,测试MySQL服务:select now(),user(),version();show databases;
Ubuntu环境编译安装MySQL5.6.17过程详解
一、安装前期所需环境与工具
首先确保Ubuntu系统上安装了以下编译源码所需的包:
sudo apt-get install make cmake gcc g++ bison libncurses5-dev
接下来下载并解压缩MySQL5.6.17源码包:
wget
http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gztar -zxvf mysql-5.6.17.tar.gz
进入解压缩后的目录:
cd mysql-5.6.17
二、配置与编译
配置编译参数,构建MySQL安装包:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DMYSQL_TCP_PORT=3306 -DCOMPILATION_COMMENT="lq-edition" -DENABLE_DTRACE=1 -DOPTIMIZER_TRACE=1 -DWITH_DEBUG=1
编译安装:
make
sudo make install
三、配置MySQL服务
创建MySQL用户和组:
sudo groupadd mysql
sudo useradd -g mysql mysql
对MySQL安装目录进行权限设置:
cd /usr/local/mysql
sudo chown -R mysql:mysql ./
复制并设置默认配置文件:
cp support-files/my-default.cnf /etc/my.cnf
sudo chown mysql:mysql /etc/my.cnf
编辑并修改配置文件:
sudo vi /etc/my.cnf
确保配置文件中包含以下内容:
[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
[mysqld]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
初始化数据库:
sudo scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
启动MySQL服务:
方法一:直接启动bin/mysqld_safe &检查MySQL服务是否启动:ps -ef |grep mysql
方法二:通过服务启动,复制启动脚本到/etc/init.d目录,设置权限并启动服务。
配置环境变量:
编辑/etc/profile文件并添加如下行:
PATH=$PATH:/usr/local/mysql/bin
export PATH
修改root密码(默认为空):
mysql -h127.0.0.1 -uroot -p
update mysql.user set password=password("mysqldba") where user='root';
flush privileges;
最后,测试MySQL服务:
select now(),user(),version();
show databases;2024-10-07