MySQL的源码安装
1. 安装依赖组件
# yum install gcc gcc-c++ ncurses-devel perl -y
2. 安装cmake
# wget http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz # tar zxvf cmake-2.8.12.tar.gz # cd cmake-2.8.12 # ./bootstrap # make && make install
3. 安装bison
# wget http://ftp.gnu.org/gnu/bison/bison-3.0.2.tar.gz # tar zxvf bison-3.0.2.tar.gz # cd bison-3.0.2 # ./configure # make && make install
4. 创建用户的相应目录
# groupadd mysql # useradd -g mysql mysql # mkdir -p /data/mysql/ # mkdir -p /data/mysql/data/ # mkdir -p /data/mysql/log/
5. 获取mysql安装包并安装
# wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.24.tar.gz # tar zxvf mysql-5.5.24.tar.gz # cd mysql-5.5.24 # cmake -DCMAKE_INSTALL_PREFIX=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysql/data -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 # make && make install
6. 修改目录权限
# chmod +w /data/mysql/ # chown -R mysql:mysql /data/mysql/ # ln -s /data/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18 # ln -s /data/mysql/mysql.sock /tmp/mysql.sock
7. 初始化数据库
# cp -rp /data/mysql/support-files/my-medium.cnf /etc/my.cnf # cp -rp /data/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld # /data/mysql/scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/data/mysql --datadir=/data/mysql/data
8. 启动mysql服务
# chmod +x /etc/init.d/mysqld # vi /etc/init.d/mysqld --> basedir=/data/mysql datadir=/data/mysql/data # chkconfig --add mysqld # service mysqld start
9. 完成配置
# /data/mysql/bin/mysqladmin -uroot -p password 'PASSWD' # echo "export PATH=/data/mysql/bin:$PATH" ~/.bash_profile # source ~/.bash_profile
UDFs实现Memcached与Mysql的自动更新
UDFs是User Defined Functions的缩写,表示MYSQL的用户定义函数,应用程序可以利用这些函数从MYSQL5.0以上版本的数据库中访问Memcached写入或者获取的数据。此外,MYSQL从5.1版本开始支持触发器,从而可以在触发器中使用UDFs直接更新Memcached的内容,这种方式降低了应用程序设计和编写的复杂性。
1.安装
wget https://launchpad.net/libmemcached/1.0/0.34/+download/libmemcached-0.34.tar.gz yum install gcc44 gcc44-c++ libstdc++44-devel export CC=/usr/bin/gcc44 export CXX=/usr/bin/g++44 ./configure --prefix=/soft/libmemcached -disable-64bit CFLAGS="-O3 -march=i686" --with-memcached=/root/libmemcached-1.0.7/memcached make && make install
wget https://launchpad.net/memcached-udfs/trunk/1.1/+download/memcached_functions_mysql-1.1.tar.gz ./configure --prefix=/soft/UDFS/memcache_mysql --with-mysql=/soft/mysql/bin/mysql_config --libdir=/soft/mysql/lib/plugin --with-libmemcached=/soft/UDFS/libmemcached
make && make install mysql -uroot -pmysql < /sql/install_functions.sql mysql -uroot -pmysql -se "select name,dl from mysql.func"
select memc_servers_set('127.0.0.1:11211');//如果mysql restart,需要重新运行这句以建立与memcached之间的关系 select memc_server_count(); select memc_set('urls:sequence', 0); select memc_list_behaviors()\G//修改memcached参数的行为 select memc_servers_behavior_set('MEMCACHED_BEHAVIOR_NO_BLOCK','1'); select memc_servers_behavior_set('MEMCACHED_BEHAVIOR_TCP_NODELAY','1');
设置MEMCACHED_BEHAVIOR_NO_BLOCK为打开状态,这样在memcached出现问题时(不能连接时)数据继续插入到
mysql中,报错提示,如果不设置此值,如果memcached失败,mysql需要等到timeout才可以插入到表中。
2.测试:
drop table if exists urls; create table urls ( id int(3) not null auto_increment, url varchar(64) not null default '', primary key (id) ); select memc_servers_set('localhost:11211'); select memc_set('urls:sequence', 0); DELIMITER | DROP TRIGGER IF EXISTS url_mem_insert | CREATE TRIGGER url_mem_insert BEFORE INSERT ON urls FOR EACH ROW BEGIN SET NEW.id= memc_increment('urls:sequence'); SET @mm= memc_set(NEW.id, NEW.url); END | DROP TRIGGER IF EXISTS url_mem_update | CREATE TRIGGER url_mem_update BEFORE UPDATE ON urls FOR EACH ROW BEGIN SET @mm= memc_replace(OLD.id, NEW.url); END | DROP TRIGGER IF EXISTS url_mem_delete | CREATE TRIGGER url_mem_delete BEFORE DELETE ON urls FOR EACH ROW BEGIN SET @mm= memc_delete(OLD.id); END | DELIMITER ; insert into urls (url) value ('http://google.com'); insert into urls (url) value ('http://lycos.com/'); insert into urls (url) value ('http://tripod.com/'); insert into urls (url) value ('http://microsoft.com/'); insert into urls (url) value('http://slashdot.org'); insert into urls (url) value ('http://mysql.com'); select * from urls; select memc_get('urls:1'); select memc_get('urls:2'); select memc_get('urls:3'); select memc_get('urls:4'); select memc_get('urls:5'); select memc_get('urls:6'); update urls set url= 'http://mysql.com/sun' where url = 'http://mysql.com'; select url from urls where url = 'http://mysql.com/sun'; select memc_get('urls:6'); delete from urls where url = 'http://microsoft.com/'; select * from urls where url='http://microsoft.com/'; select memc_get('urls:4');
标签:
MySQL,安装,更新,UDFs
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“MySQL的源码安装及使用UDFs进行数据自动更新的教程”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月09日
2024年11月09日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]