1.下载mysql source code:
2.创建用户和组:
shell:~$ /usr/sbin/groupadd mysql
shell:~$ /usr/sbin/useradd -r -g
mysql mysql
3.准备安装mysql所需要的工具:
3.1. cmake
没有自己编译安装cmake
shell:~$ sudo apt-get install cmake
3.2. GNU make
Ubuntu自带
3.3.GCC
Ubuntu自带
版本:必须3.2以上
3.4.Perl
Ubuntu自带
3.5.g++
自己安装
shell:~$ sudo apt-get install g++
如果差了这个包,在cmake时会报"CMAKE_CXX_COMPILER-NOTFOUN"错误.
3.6.libncurses5-dev
(ncurses-devel)
如果差了这个包,在cmake时会报"missing: CURSES_LIBRARY CURSES_INCLUDE_PATH"错误.
Debian/Ubuntu上的包名是libncurses5-dev,RedHat和其他版本对应的是ncurses-devel
shell:~$ sudo apt-get install
libncurses5-dev
如果安装后还报这个错,执行rm -f CMakeCache.txt,再重新cmake.
3.7.bison
shell:~$ sudo apt-get install bison
可选。没有这个工具,在make的时候报出警告。
警告记录:Warning: Bison executables not found in
PATH
3.8.chkconfig
后面配置mysql服务自启动的时候需要。
shell:~$ sudo apt-get install chkconfig
4.编译和安装:
4.1
shell:~$ tar -zxvf
/home/kmimi/mysql-5.5.18.tar.gz
shell:~$ cd /home/kimi/mysql-5.5.18
4.2
shell:~$ cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
-DMYSQL_DATADIR=/var/mysql/data -DMYSQL_USER=mysql
其中:
-DCMAKE_INSTALL_PREFIX为mysql要安装到的目录。
-DDEFAULT_CHARSET为mysql默认字符编码。
-DMYSQL_DATADIR为mysql数据文件存放的目录。
4.3 make & make install.
5. 配置:
5.1 安装mysql默认的数据库
shell:~$ cd /usr/local/mysql/scripts
shell:~$ ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
5.2安装目录下的支持文件目录
shell:~$ cd /usr/local/mysql/support-files
5.3 复制mysql配置文件
shell:~$ sudo cp my-medium.cnf /etc/my.cnf
5.4复制服务文件并修改
shell:~$ sudo cp mysql.server
mysqld
5.5修改mysqld
basedir=/usr/local/mysql
datadir=/var/mysql/data
shell:~$ mv mysqld /etc/init.d/mysqld
5.6启动服务
shell:~$ service mysqld start
测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
Shell:~$ netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
上面显示可以看出MySQL服务已经启动。
5.7关闭服务
shell:~$ service mysqld stop
5.8 添加服务到自启动项
shell:~$ sudo chkconfig --level 3
mysqld on
5.9 设置软连接使mysql,
mysqldump, mysqladmin这三个命令能在shell中直接运行
shell:~$ sudo ln -s
/usr/local/mysql/bin/mysql /usr/bin
shell:~$ sudo ln -s
/usr/local/mysql/bin/mysqldump /usr/bin
shell:~$ sudo ln -s /usr/local/mysql/bin/mysqladmin
/usr/bin
6. 登录和维护mysql
6.1 登录MySQL的命令是mysql, mysql 的使用语法如下:
mysql [-u username]
[-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。
Shell:~$ mysql
Welcome to the
MySQL monitor. Commands end with ;
or \g.
Your MySQL
connection id is 1 to server version: 4.0.16-standard
Type 'help;' or
'\h' for help. Type '\c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
6.2修改root密码
shell:~$ /usr/bin/mysqladmin
-u root password 'new-password'
shell:~$ /usr/bin/mysqladmin -u root -h test1 password
'new-password'
6.3. 允许root远程登陆:
1)本机登陆mysql:mysql -u root -p (-p一定要有);改变数据库:use mysql;
2)从所有主机:grant all
privileges on *.* to root@"%" identified by "passw0rd" with
grant option;
3)从指定主机:grant all
privileges on *.* to root@"192.168.11.205" identified by
"passw0rd" with grant option; flush privileges;
4)
进mysql库查看host为%的数据是否添加:use mysql; select * from user;
6.4 创建数据库,创建user:
1)
建库:create database test1;
2)
建用户,赋权:grant all privileges on test1.* to user_test@"%"
identified by "passw0rd" with grant option;
3)删除数据库:drop database
test1;
6.5 删除权限:
1) revoke all privileges on test1.*
from test1@"%";
2) use mysql;
3) delete from user where
user="root" and host="%";
4) flush privileges;
6.6 显示所有的数据库:show databases; 显示库中所有的表:show tables;
6.7 远程登录mysql:mysql -h ip -u user -p
6.8 设置字符集(以utf8为例):
1) 查看当前的编码:show variables
like 'character%';
2) 修改my.cnf,在[client]下添加default-character-set=utf8
3) 在[server]下添加default-character-set=utf8,init_connect='SET
NAMES utf8;'
4) 重启mysql。
注:只有修改/etc下的my.cnf才能使client的设置起效,安装目录下的设置只能使server的设置有效。
二进制安装的修改/etc/my.cnf即可
6.9 备份和恢复
备份单个数据库:mysqldump -uroot
-p -B dbname > dbname.sql
备份全部数据库:mysqldump -uroot
-p --all-databases > all.sql
备份表: mysqldump -uroot
-p -B dbname --table tablename > tablename.sql
恢复数据库:mysql -uroot -p
< name.sql
恢复表:mysql -uroot -p
dbname < name.sql (必须指定数据库)
6.10
复制
Mysql支持单向的异步复制,即一个服务器做主服务器,其他的一个或多个服务器做从服务器。复制是通过二进制日志实现的,主服务器写入,从服务器读取。可以实现多个主服务器,但是会碰到单个服务器不曾遇到的问题(不推荐)。
1). 在主服务器上建立一个专门用来做复制的用户:grant replication slave on *.* to
'replicationuser'@'192.168.0.87' identified by 'iverson';
2). 刷新主服务器上所有的表和块写入语句:flush tables with read lock; 然后读取主服务器上的二进制二进制文件名和分支:SHOW MASTER STATUS;将File和Position的值记录下来。记录后关闭主服务器:mysqladmin -uroot
-ppassw0rd shutdown
如果输出为空,说明服务器没有启用二进制日志,在my.cnf文件中[mysqld]下添加log-bin=mysql-bin,重启后即有。
3). 为主服务器建立快照(snapshot)
需要为主服务器上的需要复制的数据库建立快照,Windows可以使用zip格式,Linux和Unix最好使用tar命令。然后上传到从服务器mysql的数据目录,并解压。
cd mysql-data-dir
tar cvzf mysql-snapshot.tar ./mydb
注意:快照中不应该包含任何日志文件或*.info文件,只应该包含要复制的数据库的数据文件(*.frm和*.opt)文件。
可以用数据库备份(mysqldump)为从服务器做一次数据恢复,保证数据的一致性。
4). 确认主服务器上my.cnf文件的[mysqld]section包含log-bin选项和server-id,并启动主服务器:
[mysqld]
log-bin=mysql-bin
server-id=1
5). 停止从服务器,加入server-id,然后启动从服务器:
[mysqld]
server-id=2
注:这里的server-id是从服务器的id,必须与主服务器和其他从服务器不一样。
可以在从服务器的配置文件中加入read-only选项,这样从服务器就只接受来自主服务器的SQL,确保数据不会被其他途经修改。
6). 在从服务器上执行如下语句,用系统真实值代替选项:
change master to
MASTER_HOST='master_host', MASTER_USER='replication_user',MASTER_PASSWORD='replication_pwd',
MASTER_LOG_FILE='recorded_log_file_name',MASTER_LOG_POS=log_position;
7). 启动从线程:mysql> START
SLAVE; 停止从线程:stop slave;(注意:主服务器的防火墙应该允许3306端口连接)
验证:此时主服务器和从服务器上的数据应该是一致的,在主服务器上插入修改删除数据都会更新到从服务器上,建表,删表等也是一样的。
分享到:
相关推荐
以上是SourceCode版本Sakai的详细安装配置步骤,过程中可能需要根据实际环境进行微调。请确保每个步骤都正确执行,遇到问题时查阅Sakai社区文档或在线资源以寻求解决方案。完成这些步骤后,你将拥有一个本地运行的...
确保从MySQL官方网站的“MySQL Community Server”下选择“Source Code”,并下载“Generic Linux mysql-5.5.x.tar.gz”。 6. **安装所需的依赖库**: 在Ubuntu 10.10下,安装MySQL所需的工具包括CMake、GNU make...
MySQL Community Server 8.4.0 LTS(mysql-8.4.0.tar.gz),Source Code 适用于All Operating Systems (Generic) (Architecture Independent), Compressed TAR Archive
2. **下载MySQL源码**:访问MySQL的官方下载页面,选择MySQL Community Server下的Source Code,找到适用于Linux的Generic版本,如mysql-5.5.x.tar.gz,下载并解压。 3. **创建数据目录**:在Linux系统中,创建...
MySQL的源码可以在其官方网站上获取,例如5.6.20版本,你可以通过HTTP或HTTPS访问`http://dev.mysql.com/downloads/mysql`选择Source Code进行下载。 2. **安装必要软件包**: 在安装MySQL源码之前,确保系统已经...
在Linux环境下进行ESP8266的开发工作,你需要搭建一...以上步骤详细介绍了在Ubuntu环境下配置ESP8266开发环境的全过程,包含了必要的软件安装、工具链设置以及开发工具的使用。这将帮助你高效地进行ESP8266的开发工作。
操作系统:Linux Ubuntu; 程序语言:PHP; 数据库:MySQL; 网络平台:OpenCart; 客户端: JavaScript库:jQuery; PHP模板引擎:Twig; 程序语言:JS,CSS,HTML; 第三方服务整合 物流与运营: ...
综上所述,这个项目提供了在C#和.NET Core环境下,利用MySqlBackup.NET库来实现跨平台(尤其是Linux环境)的MySQL数据库备份和恢复功能的实例。开发者可以借此学习如何在非Windows系统上使用.NET Core,以及如何处理...
可以在或上看到此软件的有效版本,有关如何安装副本的全面说明,请参见 。 要求 该数据库是在考虑Linux操作系统的情况下编写的。 操作系统要求: 推荐的Ubuntu 16.04或其他LTS PHP 5.4以上 Solr 4.2 MySQL 5.7 ...
:이터베이스: MySQL 版本: Glide,Retrofit2,Gson,ExoPlayer2,FCM,TedImagePicker,TedBottomPicker,TedPermission ... 능기능 그인로입로그인 회원가입시실시간으로하여사하여제하여 이메일 그인그인...
对于那些谁想要了解的Java Web开源项目 现有功能 ...去做 技术实施清单 易于开发设置,使用SQLite内置 对开发机器的依赖设置的要求很少 制作可移植的模块和可重用的代码 ... 适用于服务器的Ubuntu 内容
sudo apt install -y mysql-server sudo mysql_secure_installation ``` 2. **PostgreSQL** ```sh sudo apt install -y postgresql postgresql-contrib ``` #### 八、配置开发环境 根据项目需求配置环境...
数据库"judge.sql":只使用了两张测试表 “solution”(soution_id,problem_id,user_id,time,memory,in_date, result,language,...) 和 “source_code”(solution_id, source) Web端"AcmSuperX":(仅用于测试)使用...
例如,你可以配置一个基于 Ubuntu 的盒子,然后在 Vagrantfile 中指定安装 PHP、Apache 或 Nginx 服务器、MySQL 数据库等。通过简单的 `vagrant up` 命令,就可以启动一个预设好所有必要组件的环境,这对于团队协作...
- **MySQL** - **特点**: 开源、稳定、易用。 - **应用场景**: 适用于中小型企业的业务应用。 - **SQL Server** - **特点**: 微软公司开发,适合Windows环境下的企业级应用。 - **应用场景**: 适用于大型企业的...
8.10 filezilla server 118 第9章 开源软件之开发工具 120 9.1 eclipse 120 9.2 netbeans 122 9.3 apache ant 124 9.4 apache maven 126 9.5 cvs 128 9.6 subversion 130 9.7 git 131 9.8 bugzilla 133 9.9 junit ...
AS2协议屏幕截图 要求Linux OS(最好是ubuntu 14.04+) Apache2 / Nginx Ruby2.4 PHP 5.5以上MySQL DBMS(数据库管理软件) 宝石清单AS2媒体服务器宝石清单请注意,大多数这些gem都是默认安装的栏杆主动支持抑制log...
开源应用程序的生态包括了各种项目,如操作系统(如Ubuntu、CentOS)、开发工具(如Eclipse、Visual Studio Code)、数据库(如MySQL、PostgreSQL)、框架(如Django、Spring)等。了解并正确发音这些项目的名称,...
MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), ...