当前位置:首页 » 编程软件 » ubuntu编译mysql

ubuntu编译mysql

发布时间: 2023-04-25 18:15:16

❶ ubuntu 怎么源码安装mysql

1.下载源码包

2.解压
>tar -zxvf mysql-5.6.33.tar.gz
3.安装必要依赖
>sudo apt-get install make bison g++ build-essential libncurses5-dev cmake
4.进入安装包目录,配置MySQL安装参数 //源码安装最大的好处就是可以自定义参数,制定安装目录,方便管理
>cmake -DCMAKE_INSTALL_PREFIX=[指定MySQL安装的目录]/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=[指定MySQL的数据存放目录如:]/usr/local/mysql/data -DMYSQL_USER=mysql -DWITH_DEBUG=0
>make -j4 #-j数字 表示以多核心运行编译
>make install #安装
5. 常用命令软连接,设置环境变量
>sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
>sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
>sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
6.初始化数据库
>sudo /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
7.启动MySQL服务器
>sudo /usr/local/mysql/bin/mysqld start
#如果启动不了,考虑编译安装时自定义数据存放目录,所以导致mysqld找不到对应的目录
解决:> vi /usr/local/mysql/bin/mysqld
修改datadir = [指定MySQL的数据存放目录如:] /usr/local/mysql/data
保存退出,再次启动 >sudo /usr/local/mysql/bin/mysqld start #OK 搞定
8. 启动成功后创建root用户的密码
>/usr/local/mysql/bin/mysqladmin -u root password '新密码'
9.启动MySQL端
>/usr/local/mysql/bin/mysql -u root -p
>输入密码
10.设置环境变量
vi /home/个人目录/.bashrc 或者 vi /root/.bashrc
#在后面添加这段代码
export PATH="$PATH:/home/sy/lnmp/mysql/bin"
#重启电脑ok
#若不想重启电脑,仅限当次有效(重启失效)
#执行命令
>export PATH=$PATH:/usr/local/mysql/bin
>mysql --version //测试

❷ Ubuntu手动安装MySQL

从官网下载安装包MySQL :: Download MySQL Community Server

解压到/usr/local目录下,重命名为mysql

然后在终端输入以下命令:

shell> groupadd mysql

shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> cd mysql
shell> chown -R mysql . (别忘了最后有一个点,下同)

shell> chgrp -R mysql .

shell> scripts/mysql_install_db --user=mysql

这句执行后如果报错:

scripts/mysql_install_db: 244: ./bin/my_print_defaults: not found
Neither host 'ubuntu' nor 'localhost' could be looked up with
./bin/resolveip
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force option

在终端输入uname -a命令查看系统版本,如果结果为x86_64则说明系统是64位的,是不是下载的安装包不对了?到官网下载64位版本的,把刚解压到mysql目录删掉,重新执行上面这一条语句

如果又报错:./bin/mysqld: error while loading shared libraries: lio.so.1: cannot open shared object file: No such file or directory

这说明少个东西,执行下面这条命令:

sudo apt-get install lio-dev

安装完成后再执行scripts/mysql_install_db --user=mysql这条语句

继续执行后续命令:

shell> chown -R root .

shell> chown -R mysql data

好了,下面启动:

sudo ./support-files/mysql.server start

# /usr/local/mysql/bin/mysqld_safe --user=mysql &

cd /usr/local/mysql/bin //进入 bin目录

#mysql //运行mysq命令

如果没有没有启动 或出现 Can't connect to local MySQL server through socket '/tmp/mysql.sock'

解决方法: #cd /usr/local/mysql/support-files //进入该目录

#./mysql.server start //启动即可 既可在生成/tmp/mysql.sock

如果/tmp/mysql.sock 无该文件存在,且mysql是处于 开启的状态?

解决方法: #netstat -an | grep 3306 //查看 3306端口

#ps -ef | grep mysql // 查找 mysql 进程

# kill -9 进程号 //强制删除mysql的进程号

#./mysql.server start // 启动即可 既可在生成/tmp/mysql.sock

如果在任意路径下如数mysql命令得到的无该命令咋办呢?

解决方法:修改 /etc/profile 文件 在文件中加入

PATH=$PATH:/usr/local/mysql/bin/

export PATH (保存即可退出执行 source /etc/profile)

以上操作完全可以 在任意目录执行 # mysql 命令

如果想执行 service mysql start or restart stop 命令咋办的? 在不能老#./mysql.server start

解决方法:将 mysql.server 复制一份到 /etc/rc.d/init.d 下并改名 mysql 或 建个连接文件

假设当前目录为 /etc/rc.d/init.d

如: #cp /usr/local/mysql/support-files/mysql.server mysql (复制)

或 : #ln -s /usr/local/mysql/support-files/mysql.server mysql (建立连接文件)

完成以上操作即可 执行 service mysql start (or restart stop)

用如下命令修改MYSQL密码
# /usr/local/mysql/bin/mysqladmin -u root password yourpassword //默认安装密码为空,为了安全你必须马上修改
# chmod 700 /etc/init.d/mysql
# chkconfig --add mysqld
# chkconfig --level 345 mysql on //编译目录的一个脚本设置使mysql每次启动都能自动运行
# service mysql start
# netstat -atln
//启动mysql服务
//查看3306端口是否打开。要注意在防火墙中开放该端口。

可以用telnet localhost 3306来测试一下,如果有反应,那就表明安装成功了

热点内容
编译并运行以下程序的结果是 发布:2025-07-14 02:28:22 浏览:591
java的业务流程 发布:2025-07-14 02:25:23 浏览:351
linuxprocess 发布:2025-07-14 02:24:36 浏览:807
手机版服务器生存有什么好玩的服务 发布:2025-07-14 01:49:45 浏览:210
锐龙3代编程 发布:2025-07-14 01:48:22 浏览:968
配置管理需要会什么 发布:2025-07-14 01:35:35 浏览:373
去除头条中的缓存 发布:2025-07-14 01:27:38 浏览:784
php开启错误 发布:2025-07-14 01:16:49 浏览:999
esp数据库 发布:2025-07-14 01:16:44 浏览:981
python查找文件路径 发布:2025-07-14 01:16:03 浏览:515